Как преобразовать reStructuredText в обычный текст

Я планирую использовать reStructuredText для написания документации с основной целью создания хороших HTML-страниц. Для этого я использую инструмент docutils rst2html.py.

Однако мне также может понадобиться представить документацию в удобном текстовом формате, то есть без разметки reStructuredText, и где перенос абзацев и аналогичное красивое форматирование все еще выполняется в текстовом выводе. Но в docutils нет инструмента rst2txt.py.

Есть ли способ преобразовать reStructuredText в удобный текстовый формат, возможно, с использованием специальных опций docutils?


person Community    schedule 28.07.2009    source источник
comment
Я думаю, что reStructuredText — это тот «хороший простой текстовый формат», который вы ищете в первую очередь!   -  person Martin Ueding    schedule 27.05.2012


Ответы (2)


Sphinx имеет TextBuilder для формата вывода txt. Только что попробовал, и, кажется, он делает то, что вы ищете.

Однако он может быть немного устаревшим, поскольку его нет в Makefile по умолчанию. Но это хорошо сработало с моей довольно сложной документацией (150 страниц в формате PDF). Чтобы использовать его, просто добавьте к нему следующую цель:

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

Кроме того, имейте в виду, что Sphinx реализует только часть первых спецификаций.

person tsg    schedule 28.07.2009
comment
Благодаря Thoriann, я смог заставить это работать через make-файл. Я также хотел бы использовать TextBuilder непосредственно из Python, но я не смог найти никакой документации для этого. Знаете ли вы, где найти документацию по классу TextBuilder или короткий пример, показывающий, как его использовать из Python? С уважением, Мортен - person ; 30.07.2009
comment
Я также не знаю никаких документов по этому поводу. Пример можно посмотреть в cmdline.py из исходного кода Sphinx. Кажется выполнимым, если вы действительно этого хотите. - person tsg; 30.07.2009
comment
@Thorinn: Sphinx может отображать только подмножество первого? Почему вы так думаете? - person Kevin Horn; 10.02.2011

Я также видел, как это делается путем рендеринга в html с помощью rst2html, а затем преобразования html в обычный текст с помощью браузера html с командной строкой, например:

В каждом из этих браузеров есть переключатель командной строки или аналогичный для вывода вывода в файл .txt, поэтому вы можете создать двухстрочный скрипт с именем «rst2txt», что-то вроде:

rst2html docs.rst docs.html
lynx -dump docs.html > docs.txt
person Jonathan Hartley    schedule 06.08.2009
comment
Этот работал лучше всего для меня. Я думаю, что «правильно» написать таблицу стилей XLST для преобразования в txt и, возможно, в org-mode. - person JeffG; 01.09.2011