[Python] ReST & docutils

Alessandro Dentella sandro a e-den.it
Lun 6 Feb 2012 12:49:43 CET


Grazie Daniele,

preciso come sempre...

On Mon, Feb 06, 2012 at 11:18:44AM +0000, Daniele Varrazzo wrote:
> 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

Esatto, la sintassi corretta da usare è quindi:

    parts = publish_parts(source=value.strip(), writer_name="html4css1",
                          settings_overrides={'doctitle_xform': False})


sandro
*:-)

-- 
Sandro Dentella  *:-)
http://www.reteisi.org             Soluzioni libere per le scuole
http://sqlkit.argolinux.org        SQLkit home page - PyGTK/python/sqlalchemy





Maggiori informazioni sulla lista Python