解析器API

The docutils documentation describes __解析器如下:

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

在Sphinx中,解析器模块的工作原理与docutils相同。 解析器通过使用应用程序API的扩展注册到Sphinx; Sphinx.add_source_suffix()Sphinx.add_source_parser() .

这个 source suffix 是从文件后缀到文件类型的映射。例如, .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[源代码]

将从Sphinx调用Set_APPLICATION以设置APP和其他实例变量

参数:

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

config: Config

配置对象

env: BuildEnvironment

环境对象