Étant donné que github a sa propre façon de générer des attributs id="..." dans les en-têtes h1, h2, h3, etc... en version html après le traitement Markdown (par exemple, Bitbucket utilise un modèle un peu différent qui ralentit le titre des en-têtes en le transformant en id="slug"), il est pratique de ne pas réinventer la roue et d'utiliser une bibliothèque qui inverse ce processus.
J'ai trouvé une très bonne bibliothèque pour cette tâche appelée markdown-toc .
Pour moi, c'est la meilleure solution, car j'ai toujours installé node sur ma machine.
Exécutez simplement npx markdown-toc -i fichier.md .
Et il semble que ce soit l'un des outils les plus populaires pour cette tâche - du moins dans l'écosystème node.js.
ls
cat <<EOF >> test.md | tee
## Table of Contents
<!-- toc -->
- old toc 1
- old toc 2
- old toc 3
<!-- tocstop -->
## abc
This is a b c.
## xyz
This is x y z.
EOF
ls
cat test.md
npx markdown-toc -i test.md
cat test.md
sortie :