summaryrefslogtreecommitdiff
path: root/content/Informatique/2012-08-18-rstodt.rst
blob: 73ec5cbd1d91adcc89859cf188cb8607de295e5a (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
61
62
63
64
65
66
67
68
.. -*- mode : rst -*-
.. -*-  coding: utf-8 -*-

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

:date: 2012-08-18
:tags: Libre, reStructuredText
:logo: /images/kea.jpg
:summary: |summary|

.. figure:: {filename}/images/kea.jpg
    :figwidth: 75
    :figclass: floatleft
    :alt: Arbre

    Image : Kea_


|summary|

.. |summary| replace::
    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

.. _article précédent: {filename}2010-10-04-rst.rst
.. _rst2pdf: http://rst2pdf.ralsina.com.ar/
.. _ici: {filename}/resources/rstodt/rst2odt.py
.. _inclusion de fichier: http://rst2pdf.ralsina.com.ar/handbook.html#file-inclusion
.. _Kea: http://www.flickr.com/photos/k_e_a/3325975129/