Parser API¶
docutils 文档描述 解析器如下
Parser 分析输入文档并创建节点树表示。
在 Sphinx 中,parser 模块的工作方式与 docutils 相同。解析器通过扩展使用 Application API 注册到 Sphinx;Sphinx.add_source_suffix()
和 Sphinx.add_source_parser()
。
源文件后缀 是从文件后缀到文件类型的映射。例如,.rst
文件映射到 'restructuredtext'
类型。Sphinx 使用文件类型从注册列表中查找解析器。在搜索时,Sphinx 参考 Parser.supported
属性,并选择一个解析器,该解析器在其属性中包含文件类型。
用户可以使用 source_suffix
覆盖源文件后缀映射,如下所示
# a mapping from file suffix to file types
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}
你应该指出你的解析器支持的文件类型。这将允许用户适当地配置他们的设置。
- class sphinx.parsers.Parser[源代码]¶
源解析器的基类。
额外的解析器应该继承此类,而不是
docutils.parsers.Parser
。与docutils.parsers.Parser
相比,此类提高了对 Sphinx API 的可访问性。子类可以访问 sphinx 核心运行时对象(app、config 和 env)。
- set_application(app: Sphinx) None [源代码]¶
set_application 将从 Sphinx 调用以设置 app 和其他实例变量
- 参数:
app (sphinx.application.Sphinx) – Sphinx 应用程序对象
- env: BuildEnvironment¶
environment 对象