Dies ist eine einfache Möglichkeit, ein Discourse-Symbol global zu ändern.
-
Rechtsklicken Sie auf das Symbol, das Sie ändern möchten, und wählen Sie „Element untersuchen“ oder „Untersuchen“ (abhängig vom Browser)
-
Finden Sie den Symbolnamen

-
Suchen Sie hier nach einem neuen Symbol https://fontawesome.com/icons?d=gallery, z. B. external-link-alt
-
Passen Sie den Code an und fügen Sie ihn in Ihren Tab
Admin > Anpassen > Themen > Code bearbeiten -> JSein
// {theme}/javascripts/discourse/api-initializers/init-theme.gjs
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer((api) => {
api.replaceIcon("link", "external-link-tab");
});
- Symbole, die standardmäßig nicht von Discourse verwendet werden, müssen in der Website-Einstellung
svg icon subsethinzugefügt werden. Erzwingen Sie dann einen Neuladen des Browsers, damit die Änderungen wirksam werden.
Ergebnis:

Alle „link“-Symbole werden durch „external-link-tab“ ersetzt.
Wenn ein Symbol für mehrere Elemente auf anderen Seiten, wie z. B. Abzeichen, verwendet wird, wird das Symbol auch dort ersetzt.
Ausnahmen
Beachten Sie, dass es bereits eine Themenkomponente gibt, mit der Sie das „Gefällt mir“-Symbol ändern können. Ich verwende diesen Fall als Beispiel.
Das „Herz“-Symbol, das zum „Gefällt mir“ verwendet wird, ist mit anderen Namen („d-liked“ und „d-unliked“) fest codiert und sollte anders behandelt werden als andere Symbole. Um das
-Symbol durch das
-Symbol zu ersetzen:
api.replaceIcon("d-liked", "thumbs-up");
api.replaceIcon("d-unliked", "thumbs-o-up");
![]()
![]()
Aber auf der Abzeichenseite ist das Symbol immer noch „Herz“:

Um es auf dieser Seite zu ändern, fügen wir hinzu:
api.replaceIcon("heart", "thumbs-up");

Anderes Beispiel:
api.replaceIcon("d-watching", "eye");
ändert das „Beobachten“-Symbol:

Sehen Sie hier weitere Ausnahmen, die den Tracking-Status, das Ein-/Ausklappen, Benachrichtigungen und natürlich „Gefällt mir“ abdecken.
const REPLACEMENTS = {
"d-tracking": "bell",
"d-muted": "discourse-bell-slash",
"d-regular": "far-bell",
"d-watching": "discourse-bell-exclamation",
"d-watching-first": "discourse-bell-one",
"d-drop-expanded": "caret-down",
"d-drop-collapsed": "caret-right",
"d-unliked": "far-heart",
"d-liked": "heart",
"d-post-share": "link",
"d-topic-share": "link",
"notification.mentioned": "at",
"notification.group_mentioned": "users",
"notification.quoted": "quote-right",
"notification.replied": "reply",
"notification.posted": "reply",
"notification.edited": "pencil-alt",
"notification.bookmark_reminder": "discourse-bookmark-clock",
"notification.liked": "heart",
"notification.liked_2": "heart",
"notification.liked_many": "heart",
"notification.liked_consolidated": "heart",
"notification.private_message": "far-envelope",
"notification.invited_to_private_message": "far-envelope",
"notification.invited_to_topic": "hand-point-right",
"notification.invitee_accepted": "user",
"notification.moved_post": "sign-out-alt",
"notification.linked": "link",
"notification.granted_badge": "certificate",
"notification.topic_reminder": "far-clock",
"notification.watching_first_post": "discourse-bell-one",
"notification.group_message_summary": "users",
"notification.post_approved": "check",
"notification.membership_request_accepted": "user-plus",
"notification.membership_request_consolidated": "users",
"notification.reaction": "bell",
"notification.votes_released": "plus",
"notification.chat_quoted": "quote-right",
};
Ref: discourse/icon-library.js at main · discourse/discourse (github.com)
Fühlen Sie sich frei, andere Themenkomponenten zu erstellen und diese in unserer Kategorie Theme component zu teilen!
Dieses Dokument wird versionskontrolliert – schlagen Sie Änderungen auf github vor.



, meanwhile I’ve tried several other icons, e.g. 