Salut les scripteurs ! Alors, comment allez-vous?
Par défaut, avec pandoc, les options --toc et -N saisies dans la ligne de commande n'intègrent pas de titre au dessus de la table des matière. Cela veut dire que si pour un fichier essai.md comportant plusieurs titres hiérarchiques balisés par des # (dièse), j'utilise la commande suivante : pandoc -s --toc -N –ascii –f markdown –t html5 -o essai.html essai.md J'aurai bien une table des matières numérotée, mais elle ne sera pas préfixée par un titre hiérarchique "Sommaire" ou "Table des matières". Pour résoudre ce PB, il faut éditer le template. Le template est en fait le fichier modèle ou squelette que pandoc utilise pour convertir les fichiers. Pour faire sortir le template du html5 dans le dossier courant, par exemple, on pourrait écrire : pandoc -D html5 > template-html5.html Si vous éditez ce template, et que vous consultez les 5 lignes de 57 à 61, vous trouverez ce qui suit : $if(toc)$ <nav id="$idprefix$TOC"> $toc$ </nav> $endif$ La ligne $if(toc)$ vérifie si l'on a demandé qu'il y ait une table des matières. La ligne $toc$ l'insère à l'endroit où elle se situe. Pour ajouter le titre hiérarchique au dessus de la table des matières, il suffit juste d'ajouter la ligne suivante en troisième position : $if(toctitle)$<h1 id="$idprefix$toctitle">$toctitle$</h1>$else$<h1 id="$idprefix$toctitle">Table of contents</h1>$endif$ Signification : Si la variable toctitle a été définie, on insère le titre du toc en français, sinon, il sera inséré en anglais. On se retrouve donc avec les 6 lignes suivantes, de la ligne 57 à la ligne 62 : $if(toc)$ <nav id="$idprefix$TOC"> $if(toctitle)$<h1 id="$idprefix$toctitle">$toctitle$</h1>$else$<h1 id="$idprefix$toctitle">Table of contents</h1>$endif$ $toc$ </nav> $endif$ Là en fait, on a ajouté la consultation de la présence d’une variable toctitle et on pourra insérer notre titre sommaire en utilisant l'option -V toctitle=Sommaire dans la ligne de commande. pandoc -s --toc -N –ascii -V toctitle=Sommaire --template=template-html5.html –f markdown –t html5 -o essai.html essai.md L'option --template=template-html5.html signifie que l'on souhaite utiliser le template modifié intégrant le titre du sommaire. Tout ça est très bien documenté in english ici : https://github.com/jgm/pandoc/wiki/How-to-add-a-%22Table-of-Contents%22-title-in-the-HTML-template Voilà, j'espère que ce sera utile à ceux qui ne connaissaient pas. Merci à vous. Bien amicalement, Abdel.
