Bindestriche aus Tag-Namen entfernen

:discourse2: Zusammenfassung Bindestriche (-) aus den Namen der Tags in der Themenliste und auf der Themenseite entfernen
:eyeglasses: Vorschau Vorschau im Discourse Theme Creator
:hammer_and_wrench: Repository https://github.com/discourse/discourse-remove-dashes-from-tag-names
:open_book: Neu bei Discourse-Themes? Einsteigerleitfaden zur Verwendung von Discourse-Themes

Dieses Theme-Komponente installieren

Funktionen

Diese Theme-Komponente entfernt Bindestriche aus den Namen der Tags, wo immer sie in der Benutzeroberfläche angezeigt werden.

Da Discourse Leerzeichen in den Namen der Tags durch Bindestriche ersetzt, ist diese Theme-Komponente nützlich, um die Anzeige visuell zurück von BindestrichLeerzeichen zu ändern.


:discourse2: Von uns gehostet? Theme-Komponenten sind auf unseren Standard-, Business- und Enterprise-Plänen verfügbar.

14 „Gefällt mir“

7 Beiträge wurden in ein neues Thema aufgeteilt: Dashes not removed from sidebar tags

Vielen Dank für Ihre Komponente,
Das Entfernen von Dash aus der Tag-Seitenleiste ist in Ordnung. Wie sieht es mit dem Titel-Tag aus?
%{filter} %{tag} %{category}

Danke dafür. Ich habe die Bindestriche dort nie verstehen können :smiley:


Die aktuelle Theme-Komponente vermisst immer noch viele Stellen, an denen der Bindestrich des Tag-Namens nicht entfernt werden kann, insbesondere der Website-Titel, um für Google freundlich zu sein. Können Sie das aktualisieren?

1 „Gefällt mir“

Wenn diese Theme-Komponente aktiviert wird, werden auch die Tag-Symbole von Tags entfernt. Es gibt also einen kleinen Konflikt mit dieser Komponente: Tag Icons

Außerdem fehlen, wie bereits erwähnt, an einigen Stellen die Entfernung dieser lästigen Bindestriche.

1 „Gefällt mir“

Dieses Skript ersetzt diese Komponente vorerst

function replaceTextNodes(node) {
    node.childNodes.forEach(child => {
      if (child.nodeType === Node.TEXT_NODE) {
        child.textContent = child.textContent
          .replace(/-E-/gi, ' & ')
          .replace(/-/g, ' ');
      } else {
        replaceTextNodes(child);
      }
    });
  }

  api.onPageChange(() => {

    document.querySelectorAll('.discourse-tag.box').forEach(tag => {
      replaceTextNodes(tag);
    });
    
    document.querySelectorAll('#sidebar-section-content-tags .sidebar-section-link-content-text').forEach(tag => {
      replaceTextNodes(tag);
    });
  });
1 „Gefällt mir“

Wollte dies auch vermerken, mit der Bitte, diese Komponente für die Interoperabilität auf den neuesten Stand zu bringen. Sammys Skript funktioniert gut genug, dass es als PR eingereicht und für die Aufnahme optimiert werden könnte.