解析器接口

The docutils documentation describes “解析器”如下:

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

Sphinx中的解析器模块与docutils的工作方式相同。解析器由扩展使用应用程序API注册到Sphinx;Sphinx.add_source_suffix()Sphinx.add_source_parser()

源后缀 是从文件后缀到文件类型的映射。例如,.rst 文件映射到 RestructedText 类型。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 。此类提供对Sphinx核心对象的访问; configenv

set_application(app: Sphinx) None[源代码]

set_application 将被 Sphinx 调用以设置应用程序和其他实例变量

参数:

app (sphinx.application.Sphinx) -- Sphinx application对象

property config: Config

配置对象。

property env: BuildEnvironment

environment对象。