Brève – Extraire un sommaire d’un fichier Markdown

regex + markdown + pandoc > *

Si vous êtes comme moi et que vous adorez le format Markdown et que vous avez tendance à écrire des choses plutôt longues — au hasard, un mémoire de stage chez les PUFR, vous vous êtes sûrement rendus compte qu’une vision globale du texte devient de plus en plus difficile.
Voilà donc comment extraire rapidement une table des matières.
grep "^#" main.md | grep -v " " | sed 's/^#\ /\n/g' | sed 's/^##### /          /g' | sed 's/#/ /g' | sed 's/   I/\n   I/g' > plan.txt
Oui, c’est de la ligne de commande. Basiquement, ça repère toutes les lignes commençant par '#' et ça fait quelques tris et corrections après, histoire que chaque niveau soit indenté correctement.
  est l’autre nom de   (l’espace insécable). On pourrait sans doute améliorer ça en 'grep -v "&#[0-9]+"', histoire de prendre en compte plus d’entités.
Mais pourquoi le renvoyer dans un fichier, plutôt que directement sur le terminal? Hé bien pour que ce fichier soit suivi par Git. Du coup, on obtient un historique du plan.

Aucun commentaire.