Entferne Bindestriche aus Tag-Namen

:discourse2: Zusammenfassung Entfernt Bindestriche (-) aus Tag-Namen in der Themenliste und auf der Themenseite
: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? Anfängerleitfaden zur Verwendung von Discourse Themes

Install this theme component

Features

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

Da Discourse Leerzeichen in Tag-Namen durch Bindestriche ersetzt, ist diese Theme-Komponente nützlich, um BindestrichLeerzeichen in der Anzeige visuell zurückzuändern.


:discourse2: Bei uns gehostet? Theme-Komponenten sind für unsere Standard-, Business- und Enterprise-Pläne 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.