Coloration syntaxique avec rst2odt

Arbre

Image: Kea

Le langage rst, déjà évoqué dans un article précédent, possède plusieurs formats sortie: pdf, odt, html, xml… Cependant, les outils pour générer la sortie ne prennent pas tous les même paramètres, et il est difficile de faire un fichier source qui soit compatible avec l’ensemble des compilateurs.

La coloration syntaxique

La coloration syntaxique, par exemple, n’est pas traitée de la même manière selon l’outil utilisé. Nous retrouvons deux directives:

Nom Outils
code-block rst2pdf, sphynx…
sourcecode rst2odt

La première est devenue un standard, la seconde n’est prise en compte que par rst2odt (et est en plus un peu lourde à mettre en place).

La modification

Heureusement, c’est assez facile d’ajouter de nouvelles directives, et il est possible de modifier le script à lancer pour prendre en compte la directive code-block!

Vous pouvez télécharger le script modifié ici. J’ai repris l’option d’inclusion de fichier, mais je ne gère pas les limites (je n’en avais pas besoin).

Et voilà, ça s’utilise comme ça:

$ python bin/rst2odt.py --strip-comments --stylesheet=resources/template.odt\
    --add-syntax-highlight source.rst source.odt