|||
-|-|-|
| Übersicht | DiscoTOC ermöglicht es Ihnen, mit einem Klick eine Inhaltsliste für Ihr Thema zu erstellen.
|
| Vorschau | Beginner's guide to using Discourse Themes (Bitte besuchen Sie den Link in einem neuen Tab) |
| Repository-Link | https://github.com/discourse/DiscoTOC
| Keine Kenntnisse über Discourse-Themes? | Bitte besuchen Sie die offizielle Webseite für den Anfängerleitfaden zur Verwendung von Discourse-Themes.
Beispiel
Desktop
Mobil
Funktionen
toc = Inhaltsverzeichnis
- Erstellt mit einem Klick eine Inhaltsliste basierend auf dem aktuellen Inhalt über die Einstellungsschaltfläche über dem Menü.
- Das Inhaltsverzeichnis ist immer auf der Seite sichtbar – die Links zum Scrollen des Inhalts und des Themas sind synchronisiert.
- Wenn Sie durch die Themen auf der aktuellen Seite scrollen, wird die entsprechende Inhaltsliste hervorgehoben (grün angezeigt).
- Hinzufügen von Attributen zu Überschriften (Sie können von anderen Themen/Beiträgen zu bestimmten Inhalten verlinken).
- Durch Klicken auf den Link eines Themas im Inhaltsverzeichnis navigiert der Browser zur entsprechenden Position im Hauptinhalt (synchrones Scrollen).
- Hinzufügen eines kopierbaren Links zu jeder Überschrift (natürlich, wenn Sie es wünschen).
- RTL-Unterstützung.
- Das Farbschema basiert auf dem aktuell verwendeten Farbschema.
Funktionsweise
Standardmäßig werden die Überschriften des aktuellen Inhalts als TOC markiert (dies geschieht über die Schaltfläche im Composer). Wenn Ihr aktuelles Thema markiert ist, wird es ebenfalls in ein TOC umgewandelt (dies hängt von der Hierarchie der aktuellen Überschrift ab). Alle Inhaltsüberschriften werden in ein TOC umgewandelt – das bedeutet, dass die Einstellung Ihrer MD-Dateistruktur korrekt sein muss. Wenn die Ebenen Ihrer Überschriften falsch eingestellt sind, wird auch das Konvertierungsergebnis falsch sein.
# Überschrift 1
## Überschrift 2
### Überschrift 3
#### Überschrift 4
##### Überschrift 5
###### Überschrift 6
Sie können die Ebenen nach Belieben anpassen, aber Sie müssen sicherstellen, dass die Ebenen korrekt sind.
# Überschrift 2
## Überschrift 3
## Überschrift 3
### Überschrift 4
## Überschrift 3
# Überschrift 2
usw...
Damit die Links ordnungsgemäß funktionieren, müssen alle Überschriften eine Id-Eigenschaft haben.
Diese Komponente überprüft automatisch die Id der Überschrift. Wenn die Überschrift vorhanden ist, kann die Komponente effektiver ausgeführt werden. Die Id ist auch nützlicher, wenn Sie Themen manuell erstellen.
Wenn Ihre Überschrift keine Id hat, erstellt diese Komponente automatisch eine Id basierend auf dem Inhalt der Überschrift (unnötige Zeichen werden automatisch ignoriert).
Nachdem alle oben genannten Schritte abgeschlossen sind, erstellt das TOC einen Link zum Hauptinhalt basierend auf den Überschriften, wie im folgenden Bild gezeigt:
![]()
Einstellungen
Diese Komponente hat nur eine Einstellung, nämlich das Symbol für das TOC (dieses Bild wird in den folgenden Einstellungen verwendet, und die offizielle Version empfiehlt nicht, dieses Symbol zu ändern).
Übersetzung und Lokalisierung
Diese Komponente erfordert nur sehr wenige Übersetzungen, nur die folgenden 3 Felder müssen übersetzt werden.
table_of_contents: "Inhaltsverzeichnis"
Dies wird angezeigt, wenn das TOC auf Mobilgeräten geöffnet wird.
insert_table_of_contents: "Inhaltsverzeichnis einfügen"
Dies wird angezeigt, wenn das Inhaltsverzeichnis in die Themenseite eingefügt wird.
topic_will_contain_a_table_of_contents: "Dieses Thema enthält ein Inhaltsverzeichnis"
Dies wird im Vorschaufenster angezeigt, wenn Sie den Inhalt des Themas bearbeiten und in der Vorschau auf der rechten Seite anzeigen.
So erstellen Sie eine Überschrift
- Die Überschriften für Inhalte müssen bei der Erstellung die richtige Syntax verwenden.
- Klicken Sie auf die Menüoption auf der Seite (dies gilt nur für normale Themen und Beiträge. Wenn Sie antworten oder eine private Nachricht senden, wird diese Option nicht angezeigt).
- In die Themenseite einfügen.
Was passiert mit dem Lesefortschritt-Widget, wenn wir TOC verwenden?
Wie Sie vielleicht wissen, können wir den Lesefortschritt und das TOC nicht gleichzeitig auf der Seite anzeigen.
Die offizielle Lösung ist, dass, wenn das TOC vorhanden ist, wenn Sie den ersten Beitrag lesen, nur das TOC angezeigt wird und das Lesefortschritt-Widget ignoriert und nicht angezeigt wird.
Wenn Sie über den ersten Beitrag hinaus scrollen, wird das TOC nicht angezeigt, stattdessen wird die gesamte Lesefortschrittsleiste angezeigt.
Einfach ausgedrückt, das TOC ist nur für den ersten Beitrag gültig, und nachfolgende Beiträge verwenden die Lesefortschrittsleiste.
Die Anzeige für mobile und Desktop-Anwendungen ist die gleiche.
Gibt es Probleme bei der Verwendung dieser Komponente?
Laut den Autoren und der offiziellen Stelle sind bei der Verwendung dieser Komponente bisher keine Probleme aufgetreten.
Die gesamte Inhaltsanzeige erfolgt auf Client-Seite, mit anderen Worten, der gesamte Inhalt wird im Frontend verarbeitet, sodass die Datenbereitstellung im Backend nicht beeinträchtigt wird.
Wenn Sie diese Komponente deaktivieren, wird der gesamte Inhalt wiederhergestellt.
Nutzungsbeschränkungen
Diese Komponente verwendet ein Standard-Theme-Layout.
Wenn Ihr Layout die Verwendung von Überschriften modifiziert hat, kann diese TOC-Komponente nicht ordnungsgemäß funktionieren.
Zum Beispiel ist bekannt, dass diese Komponente bei Verwendung des Vincent-Themes nicht ordnungsgemäß funktioniert.
Die Unterstützung für einige sehr beliebte Themes ist die nächste Überlegung und der umgekehrte Weg für die offizielle Plugin.
Entwickler
Der offizielle Autor hat die Entwicklung auf der tocify.js Bibliothek von Greg Franko basiert.
Leider wurde diese Bibliothek seit langem nicht mehr aktualisiert, daher hat der Autor viele unnötige Inhalte, unnötige Funktionen und Code aus der Bibliothek entfernt und die entsprechenden Funktionen in Discourse integriert.
Die Größe der gesamten Komponente beträgt etwa ~ 4 KB (mit gzip-Komprimierung).
Der Autor dankt auch @erlend_sh für viele gute Vorschläge und @david für die Hilfe bei der Übersetzung.
Zu verbessernde Punkte (TODO)
- Echtzeit-Vergleichsanzeige von TOC während der Bearbeitung (dies kann sehr ressourcenintensiv sein).
- Unterstützung für einige Mainstream-Themes zur Anzeige von TOC.
- Kopieren des Links zum Klicken auf den Link der Überschrift in die Zwischenablage.
Der Autor gibt an, dass diese Veröffentlichung eine sehr frühe Veröffentlichung ist. Wenn Sie Fragen oder Verbesserungsvorschläge zu dieser Komponente haben, können Sie sich gerne direkt an den Originalautor wenden.
Die offiziellen Erklärungen, Links und Diskussionen zu dieser Komponente finden Sie unter: DiscoTOC - automatic table of contents.
Technische Hilfe (Chinesisch)
Bei weiteren Fragen oder benötigter Hilfe besuchen Sie bitte unsere Website (Chinesisch): iSharkFly - 飞鲨




