【发布时间】:2019-07-19 20:38:20
【问题描述】:
假设我在字符串中有一些 reStructuredText 源
source = """
============
Introduction
============
Hello world.
.. code-block:: bash
$ echo Greetings.
"""
import sys
import docutils.nodes
import docutils.parsers.rst
import docutils.utils
import sphinx.writers.text
import sphinx.builders.text
def parse_rst(text: str) -> docutils.nodes.document:
parser = docutils.parsers.rst.Parser()
components = (docutils.parsers.rst.Parser,)
settings = docutils.frontend.OptionParser(components=components).get_default_values()
document = docutils.utils.new_document('<rst-doc>', settings=settings)
parser.parse(text, document)
return document
if __name__ == '__main__':
document = parse_rst(source)
我想使用 Python 将其转换为没有 reST 标记的纯文本。
我尝试使用sphinx.builders.text.TextBuilder,但它似乎想要一个App 对象,而不是字符串。
- Here 是一个相关问题,关于在命令行上手动使用文件而不是字符串。
- 解析码来自this answer
【问题讨论】:
标签: python python-sphinx docutils