[Python] ReST & docutils
Daniele Varrazzo
piro a develer.com
Lun 6 Feb 2012 12:18:44 CET
On Mon, 6 Feb 2012 12:01:42 +0100, Alessandro Dentella wrote:
> Ciao,
>
> sto usando una mini funzione che dovrebbe formattare un codice .rst
> in html
> e che ho usato in molte altre situazioni ma vedo un problema che non
> capisco. Non č esattamente Python il problema ma immagino che fra i
> frequentatori di questa lista ci siano molti che usano normalmente
> ReST per
> la documentazione, quindi ecco il rebus:
>
> """
> Titolo A
> ========
>
> SubTitolo
> ---------
>
> subsub
> ~~~~~~
>
> Testo...
> """
> from docutils.core import publish_parts
>
> def rest(value):
> parts = publish_parts(source=value.strip(),
> writer_name="html4css1")
>
> return parts["html_body"]
>
> print rest(__doc__)
>
>
> L'output per subsub risulta ancora un <h1> mentre a logica dovrebbe
> essere
> un <h3>, sbaglio ad aspettarmi h3? sbaglio ad usare la funzione
> publish_parts o cosa?
Titolo A e SubTitolo sono trasformati in titolo e sottotitolo del
documento: non fanno parte della struttura del documento, ma sono "una
tantum".
Se non li vuoi, da riga di comando si puņ usare --no-doc-title, che
produce quello che ti aspetti:
<body>
<div class="document">
<div class="section" id="titolo-a">
<h1>Titolo A</h1>
<div class="section" id="subtitolo">
<h2>SubTitolo</h2>
<div class="section" id="subsub">
<h3>subsub</h3>
<p>Testo...</p>
Puoi anche shiftare gli <h?> usando --initial-header-level - sempre
esclusi titolo e sottotitolo.
A greppare in giro, sembra che l'opzione equivalente sia
doctitle_xform=False. Dovrebbe esserci un esempio di uso in
docutils/examples.py
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python