解析器 API¶
docutils 文档描述解析器如下
解析器分析输入文档并创建节点树表示。
在 Sphinx 中,解析器模块与 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[source]¶
源解析器的基类。
额外的解析器应该继承自这个类,而不是
docutils.parsers.Parser。这个类提供了对核心 Sphinx 对象的访问;config 和 env。- set_application(app: Sphinx) None[source]¶
set_application 将由 Sphinx 调用以设置应用程序和其他实例变量
- 参数:
app (sphinx.application.Sphinx) – Sphinx 应用程序对象
- property env: BuildEnvironment¶
环境对象。