# Gestion des ancres dans les publications créées avec markdown

**URL:** https://meta.discourse.org/t/handling-anchors-in-posts-created-with-markdown/349349
**Category:** Support
**Tags:** markdown
**Created:** [Janvier 28, 2025, 9:58 UTC](https://meta.discourse.org/t/handling-anchors-in-posts-created-with-markdown/349349 "2025-01-28T09:58:33Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [Janvier 28, 2025, 3:58 UTC](https://meta.discourse.org/t/handling-anchors-in-posts-created-with-markdown/349349/2 "2025-01-28T15:58:43Z")

</div>

Salut, bienvenue !

Cette syntaxe provient-elle de [kramdown](https://kramdown.gettalong.org/) ou de [PHP Markdown Extra](http://michelf.com/projects/php-markdown/extra/) ?

Discourse s’appuie sur [MarkdownIt](https://markdown-it.github.io/), qui est basé sur la spécification [CommonMark](https://commonmark.org/). Il ne prend pas en charge la spécification d’un ID d’en-tête.

Il semble qu’ils en aient discuté à un moment donné : [Anchors in markdown - Spec - CommonMark Discussion](https://talk.commonmark.org/t/anchors-in-markdown/247), mais je ne vois pas de conclusion définitive.

Cependant, Discourse génère automatiquement des ancres.  
Vous pouvez le voir ici :

> <https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse-markdown-it/src/features/anchor.js>

Essentiellement, vous pouvez vous attendre à ces ID :

- `h-{headingId}` (pas d’ID de publication, pas de slug)
- `h-{slug}-{headingId}` (pas d’ID de publication)
- `p-{postId}-h-{headingId}` (ID de publication, pas de slug)
- `p-{postId}-h-{slug}-{headingId}` (ID de publication, slug)

Par exemple :

 ![L'interface détaillée d'un IDE en ligne, présentant la syntaxe du code HTML avec des éléments mis en surbrillance, y compris une balise d'ancre, les valeurs associées de la balise d'ancre, une propriété CSS flex et des structures de code sémantiquement pertinentes. (Légendé par l'IA)](https://global.discourse-cdn.com/meta/original/4X/e/7/3/e738f88e540e6c4fdf3012cb9df32b161bf2e9e2.png)

Si vous préférez, vous pouvez toujours créer une ancre manuellement avec HTML, par exemple, `<a name="anchor_name"></a>`

 ![L'image montre une fenêtre de navigateur Web avec une zone de texte Header ouverte, contenant du code HTML : << suivi de <a name=test>Header</a>. (Légendé par l'IA)](https://global.discourse-cdn.com/meta/original/4X/7/e/7/7e7f99e937d07283ff5276180f6a99e9ffd07c6b.png)  
 ![L'image affiche du code HTML qui crée une balise d'ancre liée à header-1 avec les attributs name et href définis sur p-704-a-nametestestast Header et test respectivement, indiquant une interface de navigation de page Web relative à la surveillance des performances. (Légendé par l'IA)](https://global.discourse-cdn.com/meta/original/4X/8/a/6/8a671d53fe8848a5c05a7ffd76d55617287fa1b6.png)

Ressources supplémentaires –  
Si vous avez besoin de générer une Table des matières, il existe ce composant pour vous :

> [@DiscoTOC - automatic table of contents](https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143):
>
> discourse2Summary DiscoTOC will allow you to generate an interactive table of contents for your topics with one click!eyeglassesPreview [Preview on Discourse Theme Creator](https://discourse.theme-creator.io/theme/Discourse/discotoc)hammer_and_wrenchRepository Link [https://github.com/discourse/DiscoTOC](https://github.com/discourse/DiscoTOC)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Samples Desktop Mobile Features toc = table of contents Automatically generates the …

---

_[View the full topic](https://meta.discourse.org/t/handling-anchors-in-posts-created-with-markdown/349349)._
