User Tools

Site Tools


doc:appunti:software:rst_sphinx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:software:rst_sphinx [2012/02/10 15:34] – [Installazione] niccolodoc:appunti:software:rst_sphinx [2012/02/10 16:10] – [reStructuredText e Sphinx] niccolo
Line 4: Line 4:
   * [[http://sphinx.pocoo.org/index.html|Sphinx]]   * [[http://sphinx.pocoo.org/index.html|Sphinx]]
  
 +Il progetto **reStructuredText** (abbreviato in reST) nasce per la documentazione dei progetti scritti in Python, ma in generale può essere usato come linguaggio di markup per scrivere documentazione. Sphinx invece è un sistema per la generazione della documentazione, in particolare è in grado di trasformare una gerarchia di documenti .rst in una risorsa facilmente navigabile con un browser (''make html''). La [[http://docs.python.org/|documentazione ufficiale sul sito di Python]] è generata con Sphinx.
 ===== Installazione ===== ===== Installazione =====
  
Line 55: Line 56:
 ===== Personalizzazione del tema ===== ===== Personalizzazione del tema =====
  
-Scegliere un tema tra [[http://sphinx.pocoo.org/theming.html|quelli predefiniti]], editare il file **''conf.py''**. Ogni stile ha le sue opzioni personalizzabili, vedere la documentazione. L'output HTML può essere controllato da opportune [[http://sphinx.pocoo.org/config.html#options-for-html-output|opzioni]]:+Scegliere un tema tra [[http://sphinx.pocoo.org/theming.html|quelli predefiniti]]: ogni stile ha le sue opzioni personalizzabili, vedere la documentazione. L'output HTML può essere controllato da opportune [[http://sphinx.pocoo.org/config.html#options-for-html-output|opzioni]]. Editare quindi il file **''conf.py''**:
  
 <code python> <code python>
Line 75: Line 76:
 </code> </code>
  
-I file ''logo_faunalia.png'' e ''favicon_faunalia.ico'' possono stare nella directory radice (verranno copiati in ''_build/html/_static/'' durante il build).+I file ''logo_faunalia.png'' e ''favicon_faunalia.ico'' possono stare nella directory radice (verranno copiati in **''_build/html/_static/''** durante il build). Il foglio di stile personalizzato deve essere messo in **''_static/''**, come prima istruzione carica il foglio di stile predefinito: 
 + 
 +<code css> 
 +@import url('default.css'); 
 +</code>
 ===== Aggiunta di un documento ===== ===== Aggiunta di un documento =====
 +
 +Si crea una sottodirectory, ad esempio ''manuale_postgis'', dentro la quale si mette il documento, es. ''manuale_postgis.rst'', le immagini, ecc.
  
 Nel file **''index.rst''** si aggiunge un riferimento al documento: Nel file **''index.rst''** si aggiunge un riferimento al documento:
Line 88: Line 95:
    manuale_postgis/manuale_postgis    manuale_postgis/manuale_postgis
 </file> </file>
 +
 +Per generare la documentazione HTML si esegue:
  
 <code> <code>
 make html make html
 +</code>
 +
 +Il risultato viene creato in **''_build/html/''** e può essere direttamente pubblicato sul web.
 +
 +Per generare il PDF complessivo di tutti i documenti si esegue:
 +
 +<code>
 +make latexpdf
 +</code>
 +
 +In questo caso lo stile non è dei migliori, secondo me è preferibile quello utilizzato da **''rst2pdf''** (che però agisce sul singolo documento .rst).
 +
 +===== Personalizzare lo stile di rst2pdf =====
 +
 +Ad esempio vogliamo creare una tabella per header e footer, senza bordo. Il **''documento.rst''** conterrà:
 +
 +<file>
 +.. |rigacci_org| image:: images/picture_0.png
 +   :width: 1.5cm
 +   :alt: Rigacci.Org
 +
 +.. |cc-by-nc-sa| image:: images/picture_2.png
 +   :width: 1.2cm
 +   :alt: cc-by-nc-sa
 +
 +.. header::
 +
 +  .. class:: headertable
 +
 +  +---------------+--------------------------------------------+
 +  |               |.. class:: centered                         |
 +  |                                                          |
 +  | |rigacci_org| | PostgreSQL/PostGIS: il geodatabase libero  |
 +  +---------------+--------------------------------------------+
 +
 +.. footer::
 +
 +  .. class:: headertable
 +
 +  +------------------------+-----------------+
 +  |                        |.. class:: right |
 +  |                        |                 |
 +  | ###Page###/###Total### | |cc-by-nc-sa|   |
 +  +------------------------+-----------------+
 +</file>
 +
 +Si crea un foglio di stile **''custom-pdf.style''** con:
 +
 +<file>
 +tyles:
 +    headertable:
 +        parent: table
 +        commands: []
 +            [VALIGN, [ 0, 0 ], [ -1, -1 ], CENTER ]
 +            [ROWBACKGROUNDS, [0, 0], [-1, -1], [white,#E0E0E0]]
 +</file>
 +
 +e quindi si crea il PDF:
 +
 +<code>
 +rst2pdf -s custom-pdf.style documento.rst
 </code> </code>
doc/appunti/software/rst_sphinx.txt · Last modified: 2012/11/21 10:24 by niccolo