Разбор реструктурированного текста в HTML


Я создаю фреймворк, в котором я позволяю разработчикам описывать свой пакет с помощью reStructuredText. Я хочу разобрать этот реструктурированный текст в HTML, чтобы я мог показать его в графическом интерфейсе.

Я знаком с отличным Сфинксом, но я никогда не анализировал реструктурированный текст. Я представил себе что-то вроде функции, которая принимает строку reStructuredText и, возможно, несколько дополнительных аргументов и возвращает строку HTML.

поэтому я заглянул в Docutils, который является отвечает за разбор реструктурированного текста. Я вообще не мог понять, как найти эту функцию. Документация в интернете пятнистая. Многие функции в docutils.parsers.rst модуль, казалось, был ориентирован на имена файлов. У меня нет имен! Я просто обрабатываю строки.

Я попытался создать Parser и Document и с помощью parse метод, но я получаю сообщение об ошибке об отсутствии .tab_width настройка.

кто-нибудь знает, как разобрать настройки в HTML?

1 54

1 ответ:

попробуйте что-то вроде этого:

>>> from docutils.core import publish_string
>>> publish_string("*anurag*", writer_name='html')

publish_string принимает строки и возвращает строку, или вы можете использовать publish_parts чтобы получить определенные части html-документа, например

>>> from docutils.core import publish_parts
>>> print publish_parts("*anurag*", writer_name='html')['html_body']
<p><em>anurag</em></p>