将reStructuredText解析为HTML

Ram*_*hum 55 python restructuredtext docutils python-sphinx

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

我熟悉优秀的Sphinx,但我从来没有解析过reStructuredText.我想象了一个函数,它接受一串reStructuredText,可能还有几个额外的参数,并返回一个HTML字符串.

所以我查看了Docutils,它负责解析reStructuredText.我根本无法理解如何找到这个功能.网上的文档很多.该docutils.parsers.rst模块中的许多功能似乎都面向文件名.我没有文件名!我只是处理字符串.

我尝试创建一个Parser和一个Document并使用该parse方法,但我只是得到一个错误的.tab_width设置错误.

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

Anu*_*yal 63

尝试这样的事情:

>>> from docutils.core import publish_string
>>> publish_string("*anurag*", writer_name='html')
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

  • 你的第二个建议是更有效的:"身体"正是我想要的. (5认同)
  • 你应该链接到文档(http://docutils.sourceforge.net/docs/api/publisher.html#publish-parts-details)!而且,FWIW,这里有一些相关的代码片段:http://code.activestate.com/recipes/193890-using-rest-restructuredtext-to-create-html-snippet/ (3认同)