summaryrefslogtreecommitdiff
path: root/content/Informatique/rstodt.rst
blob: 2f0b5b245f1120e128b0d2033da44e3bc9c1d772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.. -*- mode : rst -*-
.. -*-  coding: utf-8 -*-

Coloration syntaxique avec rst2odt
##################################

:date: 2012-08-18
:tags: Libre, reStructuredText

.. image:: http://farm4.staticflickr.com/3609/3325975129_a8e246dd20_s.jpg
    :class: floatleft
    :alt: Arbre

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 :

.. code-block:: console

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

(Source de l'image : Kea_)

.. _article précédent: |filename|rst.rst
.. _rst2pdf: http://rst2pdf.ralsina.com.ar/
.. _ici: http://chimrod.com/downloads/rst2odt.py
.. _inclusion de fichier: http://rst2pdf.ralsina.com.ar/handbook.html#file-inclusion
.. _Kea: http://www.flickr.com/photos/k_e_a/3325975129/