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

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

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

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

Ответы

Ответ 1

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

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

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

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

Ответ 2

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

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

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

Ответ 3

Текстовый редактор NoTex.ch (с поддержкой rST) включает поддержку преобразования простого текста (основанного на Sphinx TextBuilder).