57

我正在制作一个框架,让开发人员在其中使用 reStructuredText 描述他们的包。我想将该 reStructuredText 解析为 HTML,以便可以在 GUI 中显示它。

我对出色的 Sphinx 很熟悉,但我从未解析过 reStructuredText。我想像一个函数,它接受一个 reStructuredText 字符串,可能还有几个额外的参数,并返回一个 HTML 字符串。

所以我查看了负责解析reStructuredText的Docutils。我完全不明白如何找到这个功能。网络上的文档参差不齐。该模块中的许多功能docutils.parsers.rst似乎都针对文件名。我没有文件名!我只是在处理字符串。

我尝试创建 aParser和 aDocument并使用该parse方法,但我只是收到有关缺少.tab_width设置的错误。

有谁知道如何将 reStructuredText 解析成 HTML?

4

1 回答 1

68

尝试这样的事情:

>>> 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>
于 2011-07-11T18:16:25.393 回答