Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
201 views
in Technique[技术] by (71.8m points)

python - Parsing reStructuredText into HTML

I'm making a framework in which I let developers describe their package using reStructuredText. I want to parse that reStructuredText into HTML so I can show it in a GUI.

I'm familiar with the excellent Sphinx, but I've never otherwise parsed reStructuredText. I imagined something like a function that takes a string of reStructuredText, and possibly several additional arguments, and returns a string of HTML.

So I looked into Docutils, which is responsible for parsing reStructuredText. I couldn't understand at all how to find this function. Documentation on the web is spotty. Many of the functions in the docutils.parsers.rst module seemed to be geared toward filenames. I don't have filenames! I'm just handling strings.

I tried creating a Parser and a Document and using the parse method, but I just get an error about a missing .tab_width setting.

Does anyone know how to parse reStructuredText into HTML?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try something like this:

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

publish_string accepts a strings and outputs a string or you can use publish_parts to get specific parts of html document e.g.

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...