解析器 API

docutils 文档描述 解析器如下

解析器分析输入文档并创建节点树表示。

在 Sphinx 中,解析器模块的工作原理与 docutils 相同。解析器通过扩展使用应用程序 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[source]

源解析器的基类。附加的解析器应该继承此类而不是 docutils.parsers.Parser。与 docutils.parsers.Parser 相比,此类提高了对 Sphinx API 的可访问性。

子类可以访问 sphinx 核心运行时对象(app、config 和 env)。

set_application(app: Sphinx) None[source]

set_application 将从 Sphinx 调用以设置 app 和其他实例变量

参数:

app (sphinx.application.Sphinx) – Sphinx 应用程序对象

config: Config

配置对象

env: BuildEnvironment

环境对象