插件

由于许多项目在其文档中都需要特殊功能,Sphinx 允许在构建过程中添加“插件”,每个插件都可以修改处理文档的任何方面。

本章节描述了随 Sphinx 打包的插件。有关编写您自己的插件的 API 文档,请参阅 Sphinx API

内建插件

这些插件是内建的,可以通过 extensions 配置值中的相应条目激活:

第三方插件

可以在 sphinx-contrib 组织中找到许多用户贡献的扩展。如果你希望将自己的插件包含在这个组织中,只需按照 github-administration 项目中提供的说明操作即可。这是可选的,并且还有许多扩展托管在其他地方。awesome-sphinxdocsphinx-extensions 项目都是 Sphinx 包的精选列表,许多包使用 Framework :: Sphinx :: ExtensionFramework :: Sphinx :: Theme 分类器来分别标记 Sphinx 扩展和主题。

将自己的插件放在哪里?

项目内部的插件应放在项目的目录结构中。相应地设置 Python 的模块搜索路径 sys.path,以便 Sphinx 可以找到它们。例如,如果你的插件 foo.py 位于项目根目录的 exts 子目录中,将以下内容放入 conf.py

import sys
from pathlib import Path

sys.path.append(str(Path('exts').resolve()))

extensions = ['foo']

你也可以在 sys.path 上安装任何其他位置的插件,例如在 site-packages 目录中。