Dies ist das [wrap=icon id=far-square][/wrap]-Symbol und das [wrap=icon id=pencil][/wrap]-Symbol.
Hinweis: Wenn das Symbol nicht angezeigt wird, liegt dies daran, dass es nicht in Ihrem Subset enthalten ist. Als Administrator können Sie es in Ihren Site-Einstellungen unter svg icon subset hinzufügen.
Von uns gehostet? Theme-Components stehen in unseren Standard-, Business- und Enterprise-Plänen zur Verfügung.
(meta hat sehr viele Themes, aber glücklicherweise haben wir dank @kris.kotlarek einen Button, um alle Themes hinzuzufügen… wir müssen den Fortschritt dort noch ordnen, da es eine Weile dauert, bis er seine Magie entfaltet)
Ich habe mich nie mit BB-Script-Tags beschäftigt und habe FontAwesome auch nie manuell codiert, daher kam mir die Praxis, ein leeres Tag-Paar zu verwenden, schon immer seltsam vor. Ist das eine gängige Konvention, oder gibt es einen webtechnischen Grund, Tag-Paare zu verwenden? Können sie auch Inhalte zwischen sich haben, und beeinflusst das den Text?
Zunächst: Als ich die Wrap-BBCode-Funktion entwickelt habe, hat @sam ausdrücklich darum gebeten, drei Formate zu unterstützen:
[wrap=foo][/wrap]
[wrap=foo]bar[/wrap]
[wrap=foo]
bar
[/wrap]
Dies dient der Konsistenz mit unserer bestehenden BBCode-Nutzung in Discourse.
Ich hätte auch eine bessere Syntax wie [icon=times] verwenden können, aber dann müsste es ein Plugin und kein Theme-Komponente sein.
Als Experiment finde ich die aktuelle Lösung in Ordnung. Falls die Funktion häufig genutzt wird, könnten wir überlegen, dies durch ein Plugin mit einer kompakteren Syntax umzusetzen.
Eine weitere Idee, die ich hatte, besteht darin, eine API hinzuzufügen, um im Editor Autocomplete-Symbole hinzuzufügen – ähnlich wie wir es bereits für Benutzer/Kategorien/Emojis haben. Ich befürchte jedoch, dass dies ein Albtraum werden könnte, wenn mehrere Komponenten jeweils eigene Symbole auswählen.
Ah! Ich muss die Unterstützung für ein weiteres BBCode hinzufügen. Ich dachte, ich würde dies als Ausgangspunkt nutzen, aber du sagst, dass das Einpacken (Wrap) im Kern behandelt wird, was erklärt, warum ich nicht finde, wie es von deiner Theme-Komponente gehandhabt wird.
Meine aktuelle Lösung besteht darin, die verlinkten Wörter-Komponente und eine hässliche Regex zu verwenden, aber ich habe immer noch Schwierigkeiten, die erforderlichen Klassen zu den Links hinzuzufügen.
Gut, ich habe es ein Dutzend Mal betrachtet. Und den Code für deine Komponente ausgedruckt und stundenlang darauf gestarrt, um zu verstehen, inwiefern es JavaScript oder Ember ist, das ich nicht verstehe. Kann ich kein [foo]-Tag ohne ein Plugin hinzufügen? Oder kann ich irgendwie ‘wrap’ in deinem Code durch ‘foo’ ersetzen, um meinen neuen BBCode abzudecken?
Nein, das geht nicht, da ein Teil davon serverseitig erfolgt. Wenn du dein eigenes benutzerdefiniertes BBCode-Format möchtest, musst du ein Plugin schreiben und dir beispielsweise ansehen, wie wrap implementiert ist:
Danke! Es fängt an, Sinn zu ergeben. Seit C++ und Objective Pascal im Jahr 1990 hatte ich so große Schwierigkeiten beim Erlernen einer neuen Sprache nicht mehr.
Mein aktueller Regex-Hack funktioniert fast. Ich muss entscheiden, ob ich den Plugin-Weg gehe oder bei meinem Hack bleibe (und herausfinde, wie ich die Klassen hinzufüge).
Zumindest verstehe ich jetzt, warum ich das Wrap in der Theme-Komponente nicht finden konnte!
Verwenden Sie eine Icon-Umhüllung in einem Satz in einem Beitrag. z. B. Dies ist ein Icon [wrap=icon id=far-check-square][/wrap]
Heben Sie den relevanten Text hervor und wählen Sie „Zitat“.
Das Icon wird im zitierten Auszug riesig.
So sieht die Syntax aus, wenn sie als Zitat hervorgehoben wird:
[quote="JammyDodger, post:1, topic:294, full:true"]
Dies ist ein Icon 
[/quote]
Dies ist eine Antwort, bei der es riesig wird
Das Zitieren mit der Sprechblase in der Formatleiste funktioniert jedoch einwandfrei.
Können Sie ein Beispiel geben? Ihr Screenshot zeigt ein angekreuztes Kontrollkästchen, und ich habe keine Probleme, es in meiner Testinstanz auszuwählen (ebenso wie andere Symbole, die wahrscheinlich nicht von Discourse verwendet werden, wie z. B. x-ray).
Ich sehe das Problem. Die Komponente sucht, indem sie prüft, ob ein Wrapper mit der Klasse d-wrap vorhanden ist; aber es gibt keinen Wrapper, wenn das bereitgestellte Symbol nicht aus dem Subset stammt. Stattdessen wird ein Bild als SVG erstellt.
Wenn Sie die Bilder zitieren, tut die Komponente nichts, da kein Wrapper vorhanden ist (und das Bild in Markdown konvertiert wird, was zu einem Bild ohne Klasse führt).
Bedeutet dies, dass ich ein svg_icons-Feld in settings.yml in meinem Theme haben muss? Oder könnte ich jedes svg_icons-Feld verwenden, das von aktivierten Theme-Komponenten verfügbar ist? Und wenn das der Fall ist, wäre es sinnvoll, dieses Feld zu dieser Theme-Komponente hinzuzufügen?
Denn meiner Erfahrung nach werden die SVG-Icons in <img />-Tags umgewandelt und erben nicht die currentColor, wenn das Farbschema geändert wird:
Vergleichen Sie bitte den Absatz Beispiel: