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
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python

Rispondere a