解析器 API¶
The docutils 文档描述 解析器如下:
解析器分析输入文档并创建一个节点树表示.
在 Sphinx 中,解析器模块的工作方式与 docutils 相同.解析器通过使用应用程序 API 的扩展注册到 Sphinx;:meth:.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 (sphinx.application.Sphinx) – Sphinx 应用程序对象
- env: BuildEnvironment¶
环境对象