aboutsummaryrefslogtreecommitdiff
path: root/strumenti/docutils.rst
blob: 4e250b6cb93d3bed966cfb3cfd41dbac5288421d (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Docutils
--------

.. contents::

Docutils_ è una suite per la gestione di documentazione scritta 
in python; è interamente basata sull'uso di |reST| come formato 
sorgente e ne comprende le specifiche.

Comprende i moduli python usati dalla maggior parte dei programmi 
che gestiscono |reST|, ma anche alcuni script usabili per 
effettuare rapide conversioni da riga di comando.

.. _Docutils: http://docutils.sourceforge.net/index.html

.. |reST| replace:: reStructuredText

Uso
^^^

Per convertire rapidamente un documento |reST| in ``<formato>`` si usa::

   rst2<formato> [opzioni] [documento [destinazione]]

ad esempio::

   rst2html documento.rst documento.html

L'elenco di opzioni disponibili si ottiene con::

   rst2<formato> --help

e sono documentate in dettaglio nella `configurazione di docutils`_.

.. _`configurazione di docutils`: http://docutils.sourceforge.net/docs/user/config.html

Un semplice esempio di uso dei moduli docutils all'interno di programmi 
in python è presente nello script ``build.py`` usato per generare 
questa documentazione; l'equivalente della semplice conversione 
usata sopra si ottiene con::

   from docutils.core import publish_file

   publish_file(source_path=<documento>,
                destination_path=<destinazione>,
                writer_name=<formato>)

ad esempio::

   from docutils.core import publish_file

   publish_file(source_path='documento.rst',
                destination_path='documento.html',
                writer_name='html')

Ulteriori dettagli sono ovviamente presenti nella `documentazione 
di docutils`_

.. _`documentazione di docutils`: http://docutils.sourceforge.net/docs/index.html

Formati generabili
^^^^^^^^^^^^^^^^^^

HTML
~~~~

Docutils può ovviamente generare HTML tramite il writer ``html``, 
usato dal comando ``rst2html``.
È possibile anche generare delle presentazioni_ compatibili con S5_, 
un sistema di slideshow in HTML5 e JavaScript; per farlo si usa 
il comando ``rst2s5`` o il writer ``s5_html``, ad esempio::

   rst2s5 --theme medium-black documento.rst documento.html

Il sito di docutils comprende ulteriore documentazione sugli 
`strumenti per generare html`_.

.. _S5: http://meyerweb.com/eric/tools/s5/
.. _presentazioni: http://docutils.sourceforge.net/docs/user/slide-shows.html
.. _`strumenti per generare html`: http://docutils.sourceforge.net/docs/user/tools.html#html-generating-tools

PDF
~~~

La generazione di documenti in PDF (ma ovviamente anche PostScript e dvi) 
è delegata a LaTeX a partire da un ``.tex`` ottenuto dal writer ``latex`` 
(o dal comando ``rst2latex``). 
Meglio ancora, specialmente nel caso si usino caratteri di lingue 
diverse e si voglia ottenere un documento PDF, è usare xeTeX, assieme 
al writer ``xetex`` o al comando ``rst2xetex``; ad esempio::

   rst2xetex documento.rst documento.tex
   xelatex documento.tex && xelatex documento.tex && xelatex documento.tex

(dove il comando ``xelatex`` è ripetuto tre volte per essere sicuri 
che tutti i riferimenti interdocumento siano corretti).

Un problema nel quale si può incappare è che xeTeX non supporta 
l'inserimento di immagini in svg; per inserire immagini 
vettoriali è necessario usare PDF.

Sul sito docutils c'è un documento su come `generare LaTeX con docutils`_.
   
.. _`generare LaTeX con docutils`: http://docutils.sourceforge.net/docs/user/latex.html

ODT
~~~

Docutils comprende un writer ``odt`` e relativo programma ``rst2odt`` 
con i quali `generare file odt`_ a partire da |reST|.
I risultati non sono ovviamente piacevoli quanto i file generati 
tramite LaTeX, ma possono essere utili in determinati casi.

.. _`generare file odt`: http://docutils.sourceforge.net/docs/user/odt.html

manpages
~~~~~~~~

Al fine di completare la documentazione di un programma con una 
pagina di ``man``, docutils include un writer ``manpage`` 
e il relativo programma ``rst2man``, che trasformano un 
documento |reST| che soddisfa determinate convenzioni in 
una pagina in \*roff visualizzabile con ``man``.

Sul sito docutils si trova della documentazione alle voci 
manpage_ e rst2man_.

.. _manpage: http://docutils.sourceforge.net/docs/user/manpage.html
.. _rst2man: http://docutils.sourceforge.net/sandbox/manpage-writer/rst2man.txt