Benachrichtigungsfarben anpassen

Inspiriert von diesem Thema und den benutzerdefinierten Farben von Discord-Rollen habe ich diesen sehr einfachen Code geschrieben, der den Erwähnungen von Gruppen und Benutzern ein data-mention hinzufügt, um über CSS verschiedene Farben (und nicht eine “allgemeine Farbe”) zu setzen :smile:

Der Code ist im Moment in JQuery geschrieben, aber irgendwann werde ich ihn zu Vanilla JavaScript ändern :sweat_smile:


Um ihn anzuwenden, müssen Sie den Code nur in den Kopf Ihres Themes oder Ihrer Komponente einfügen:

<script type="text/discourse-plugin" version="0.9">
$(document).ajaxSuccess(() =>{
  $('a.mention').each(function() {
    $(this).attr('data-mention', $(this).text().replace('@', ''));
   });
  $('a.mention-group').each(function() {
   $(this).attr('data-mention', $(this).text().replace('@', ''));
   });
});
</script>

Danach können Sie den gewünschten Stil über CSS anwenden :partying_face:

Zum Beispiel:

a.mention[data-mention="Alexander"] {
  color: #4527a0 !important;
}

CapturaMentionUser


In diesem Fall war es für einen bestimmten Benutzernamen, es funktioniert aber auch für Gruppen mit a.mention-group[data-mention="group-name"]


Ich werde daran arbeiten, dies zu einer Theme-Komponente zu machen, die über ihre “Einstellungen” angepasst werden kann, ohne die CSS zu ändern :thinking:

10 „Gefällt mir“

Ich teile das nur mit. Ich denke, das passt gut zu diesem Thema. Besonders das hier

4 „Gefällt mir“

Ist es möglich, Anpassungen vorzunehmen, damit Erwähnungen von jedem, der zur festgelegten Gruppe gehört, farblich hervorgehoben werden?

+1

Ich suche nach einer Möglichkeit, Benutzer zu identifizieren, die sich nicht in einer Gruppe befinden (oder in einer Gruppe sind) in einem Thema, das eine Liste von Benutzererwähnungen enthält.