我正在尝试使用 docutils 包将 ReST 转换为 HTML。这个答案简洁地使用 docutilspublish_*
便利功能一步实现这一目标。我要转换的 ReST 文档有多个我想在生成的 HTML 中分隔的部分。因此,我想分解这个过程:
- 将 ReST 解析为节点树。
- 根据需要分离节点。
- 将我想要的节点转换为 HTML。
这是我正在努力的第三步。以下是我如何执行步骤一和二:
from docutils import utils
from docutils.frontend import OptionParser
from docutils.parsers.rst import Parser
# preamble
rst = '*NB:* just an example.' # will actually have many sections
path = 'some.url.com'
settings = OptionParser(components=(Parser,)).get_default_values()
# step 1
document = utils.new_document(path, settings)
Parser().parse(rst, document)
# step 2
for node in document:
do_something_with(node)
# step 3: Help!
for node in filtered(document):
print(convert_to_html(node))
我找到了HTMLTranslator
班级和Publisher
班级。它们似乎相关,但我正在努力寻找好的文档。我应该如何实现该convert_to_html
功能?