2009-07-28 15 views
14

Ho intenzione di usare reStructuredText per scrivere la documentazione con lo scopo principale di generare delle belle pagine HTML. Per questo uso lo strumento docutils rst2html.py.Come convertire reStructuredText in testo semplice

Tuttavia, potrebbe anche essere necessario presentare la documentazione in un formato di testo semplice, ovvero senza il markup reStructuredText, e in cui l'avvolgimento del paragrafo e una formattazione simile sono ancora eseguiti sull'output del testo. Ma non esiste uno strumento rst2txt.py nei docutils.

C'è un modo per convertire reStructuredText in un formato di testo semplice, magari con l'uso di opzioni speciali per docutils?

+3

Penso che reStructuredText sia quel "bel formato di testo normale" che stai cercando in primo luogo! –

risposta

9

Sfinge ha un TextBuilder per il formato di output txt. Ho appena provato e sembra fare ciò che stai cercando.

Tuttavia, potrebbe essere un po 'obsoleto perché non è nel Makefile predefinito. Ma ha funzionato bene sulla mia documentazione abbastanza complessa (150 pagine pdf). Per usarlo, basta aggiungere il seguente obiettivo ad esso:

text: 
    $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) _build/text 
    @echo 
    @echo "Build finished." 

Inoltre, tenete a mente che Sfinge implementa solo un sottoinsieme delle prime specifiche.

+0

Grazie a Thoriann, sono riuscito a farlo funzionare attraverso il makefile. Vorrei anche usare TextBuilder direttamente da Python, ma non ho trovato alcuna documentazione per questo. Sai dove trovare la documentazione per la classe di TextBuilder, o un breve esempio che mostra come usarlo da Python? Cordiali saluti, Morten –

+0

Non conosco nessuna documentazione in merito. Puoi guardare in cmdline.py dal codice sorgente Sphinx per un esempio. Sembra fattibile, se lo vuoi davvero. – tsg

+0

Ciao Thoriann, grazie per la tua risposta. Passa un bel weekend. Cordiali saluti, Morten –

11

Ho visto anche questo fatto rendendo in html utilizzando rst2html, quindi convertire il codice HTML in testo semplice utilizzando un browser html della riga di comando, come ad esempio:

Ognuno di questi browser dispone di un interruttore della riga di comando o simili per rendere il suo output in un file .txt, così si potrebbe creare uno script due linea chiamata 'rst2txt', qualcosa di simile:

rst2html docs.rst docs.html 
lynx -dump docs.html > docs.txt 
+0

Questo ha funzionato meglio per me. Penso che la cosa 'giusta' sia scrivere un foglio di stile XLST per convertirlo in txt e magari in org-mode – JeffG

0

Il testo in linea NoTex.ch editor (con supporto per rST) include il supporto per la conversione di testo normale (che si basa su Sphinx 'TextBuilder).

Problemi correlati