DiscoTOC - table des matières automatique

:discourse2: Résumé DiscoTOC vous permettra de générer un sommaire interactif pour vos sujets en un seul clic !
:eyeglasses: Aperçu Aperçu sur Discourse Theme Creator
:hammer_and_wrench: Lien du dépôt https://github.com/discourse/DiscoTOC
:open_book: Nouveau sur les thèmes Discourse ? Guide pour débutants sur l’utilisation des thèmes Discourse

Installer ce composant de thème

Exemples

Bureau

Mobile

Fonctionnalités

toc = sommaire

  • Génère automatiquement l’intégralité du sommaire via un bouton dans le menu d’engrenage du compositeur

  • Le sommaire restera toujours à l’écran - il défile avec le contenu comme le widget de progression du sujet

  • Au fur et à mesure que vous défilez au-delà des sections du sujet, l’élément actif dans le sommaire sera mis en évidence (surlignage bleu)

  • Ajoute des attributs d’ID aux titres (vous pouvez lier à une section spécifique depuis un autre sujet / message)

  • Cliquer sur n’importe quel lien dans le sommaire ordonnera au navigateur de naviguer vers la section pertinente (défilement fluide)

  • Ajoute un lien copiable à côté de chaque titre (si vous souhaitez y lier)

  • Support RTL

  • Les couleurs sont basées sur votre palette de couleurs active actuelle

Comment ça marche ?

En résumé, il recherche les titres dans les sujets qui sont marqués pour avoir un sommaire (via le bouton du compositeur) et s’il s’avère que le sujet actuel est marqué, il prend tous les titres et les place dans le sommaire (imbriqués selon le niveau des titres) - cela signifie que votre markdown doit être syntaxiquement correct.

# titre 1
## titre 2
### titre 3
#### titre 4
##### titre 5
###### titre 6

Vous êtes libre de revenir en arrière et d’avancer dans les niveaux de titres, mais l’ordre doit être correct.

# titre 2 
## titre 3
## titre 3
### titre 4
## titre 3
# titre 2

etc...

Pour que les liens dans le sommaire fonctionnent, les titres doivent avoir des attributs d’ID. Le composant vérifiera si les titres ont déjà des IDs et, si c’est le cas, ils seront respectés. Ceci est pratique si vous avez déjà créé un sommaire manuellement.

Si les titres n’ont pas d’IDs, il générera un ID pour chaque titre basé sur son texte (les caractères indésirables sont supprimés).

Une fois tout cela fait, il ajoutera également un lien à côté de chaque bouton qui mène directement à cette section :

Paramètres

Nom Description
niveau de confiance minimum pour créer un TOC Le niveau de confiance minimum qu’un utilisateur doit avoir pour voir le bouton TOC dans le compositeur
texte toc compositeur Texte qui apparaît en haut du panneau d’aperçu du compositeur pour indiquer que le sujet aura un sommaire
catégories auto TOC Activer automatiquement le TOC sur les sujets dans ces catégories
tags auto TOC Activer automatiquement le TOC sur les sujets avec ces tags
titre min TOC Nombre minimum de titres dans un sujet pour que le sommaire soit affiché

Traductions

Traduction Défaut
table_of_contents sommaire
insert_table_of_contents Insérer le sommaire
jump_bottom Aller à la fin
toggle_toc.show_timeline Chronologie
toggle_toc.show_toc Contenu

Le thème est livré avec trois chaînes que vous pouvez traduire ou modifier.

table_of_contents: "sommaire"

Ceci est utilisé pour le bouton qui ouvre le sommaire sur mobile.

insert_table_of_contents: "Insérer le sommaire"

Ceci est utilisé comme texte pour le bouton TOC dans le menu d’engrenage du compositeur.

topic_will_contain_a_table_of_contents: "Ce sujet contiendra un sommaire"

C’est le texte qui apparaît dans l’aperçu du compositeur pour indiquer qu’un sommaire sera généré pour le sujet.

Comment créer un sommaire ?

  1. Écrivez un sujet avec des titres syntaxiquement corrects
  2. Cliquez sur le bouton TOC dans le menu d’engrenage (apparaît uniquement lors de la création d’un sujet régulier - les réponses et les MP sont ignorés)
  3. C’est fait.

Que devient le widget de progression du sujet lorsqu’un sujet a un sommaire ?

Comme vous pouvez probablement le deviner, il n’y a pas d’espace pour afficher les deux en même temps, donc la façon dont ce composant fonctionne est la suivante :

Dans un sujet avec un sommaire, le widget de progression du sujet est masqué tant que le premier message est à l’écran, et vous voyez le sommaire à la place.

Une fois que vous avez défilé au-delà du premier message, le sommaire ne défilera plus avec vous et la progression du sujet sera affichée à la place pendant que vous lisez les réponses.

Ainsi, les premiers messages obtiennent le sommaire, et les messages suivants obtiennent le widget de progression du sujet régulier.

Cela se produit à la fois sur bureau et mobile.

Y a-t-il des inconvénients à utiliser ce composant ?

Rien à ma connaissance, tous les changements sont effectués côté client. Vous pouvez donc facilement supprimer le composant et vos messages reviendront à l’état où ils étaient avant que vous ne l’installiez.

Limitations

Ce composant suppose la disposition standard des sujets. Par conséquent, il ne fonctionnera pas avec les thèmes qui modifient cette disposition, comme le thème Vincent. Le support des thèmes populaires qui modifient la disposition sera disponible à un stade ultérieur sous forme de paramètres de composant.

Crédit

J’ai commencé avec la bibliothèque tocify.js de Greg Franko. Cependant, il semble qu’elle n’ait pas été mise à jour depuis un moment, il s’agit donc essentiellement d’un fork dur qui supprime de nombreuses fonctionnalités inutiles, intègre et stylise le reste pour Discourse.

Ainsi, il n’y a aucune requête externe et la taille totale est d’environ 4 ko gzip.

Un grand merci à @erlend_sh pour ses nombreux retours précieux et à @david pour son aide avec les traductions.

:discourse2: Hébergé par nous ? Les composants de thème sont disponibles pour une utilisation sur nos plans Pro, Business et Entreprise.

182 « J'aime »
Automatic Table of Contents generation
Creative Uses of Discourse
Wiki improvement – Split content into multiple sections?
:cn: DiscoTOC 自动内容表格
Big Header - Little Header
How To Add Marker To Table Of Contents Feature?
What are the different ways to customize content inside a post (custom attributes and such)
Tagged topic progress bar - feasible or not?
Reader Mode
How can i show a floating sticky 300x250 Adsense Ad on right side bar of topic page above the fold?
How do you create a table of content like this one?
Timeline with labelled step by step sections - how is this achieved?
How to get topic navigation menu
Is anyone working on a Discourse Wiki?
Traditional multi level hierarchy vs flat discourse hierarchy
Theme Components - Can Discourse hosted sites install them?
How to add table of content sidebar beside a topic?
How do I add a table of contents sidebar to a topic?
Cannot deep link to anchor in text
How can I compare arbitrary revisions of a post?
Understanding Discourse for new users
Problem with DiscoTOC: TypeError: _offsetCalculator.headerOffset is not a function
How to create an In-app Knowledge Base with Discourse Docs?
OP Contents on Progress Bar
How to get topic sidebar
Customizing your site with existing theme components
Link to headers (anchor links)
Outline Enable
What is essential content for a new community?
Tools for creating image-heavy articles
Adding DiscoTOC to Published Pages
Customize Your Site Branding
Discourse Doc Categories
Gif icon not displaying and showing error
Must have plugins and components for Discourse?
I created a bookmarklet to create the table of content for forum posts
Could a List of Recommended Topics Be Added to the Top Menu?
Living with corrupted SVGs for almost a year. Need Help!
Something recently changed, can't increase `--topic-body-width`
How to enable side navigation?
Displaying "full topic" text on category page + access to subcategory from menu bar
Improve iPad screen real estate
Missing anchor links in certain TOC topics?
DiscoTOC not showing in composer after latest component update
Missing anchor links in certain TOC topics?
How to create a documentation theme used by discourse
Where's Jump to end?
Handling anchors in posts created with markdown
Reader Mode
Hidden Timeline button
Horizon Theme
Collections
Bulk Export of Raw Post Sources with Markup
AI summary in topic header
Contents button and Timeline button floating unexpectedly
:cn: Discourse Post Formatting Guide 加点格式,让帖子多姿多彩
Wiki table of contents on pro plan
Auto-Linkify Words
Missing strings (DiscoTOC)
?page=n URLs have high CLS hence bad SEO
Require users to "Reply as Linked Topic"
Links not working
Using Posts as a Wiki?
Using Posts as a Wiki?
Is anyone working on a Discourse Wiki?
Using Posts as a Wiki?
Using Posts as a Wiki?
DiscoTOC & Brand Header - using together
Docs: Add link to top menu
Layouts Plugin
More than two levels of [details]
Category page with fixed organization of topics
Blog Post Styling
Inlink the topics within the same article
Navigating to local URL fragment doesn't modify browser history
Relating to Profile Picture Scroll Functionality
Copy pasting nested lists from Word into a post
Need to include PGN (chess game notation) in a post
How can I get a table of contents for my docs?
Linking to a heading within a post
Topic list on the right side
Set up Slack notifications using the discourse-chat-integration plugin
Wrong title in the history popup (firefox)
Possible to insert post in a topic
I created a bookmarklet to create the table of content for forum posts