插件¶
由于许多项目在其文档中需要特殊特性,Sphinx允许在构建过程中添加“扩展”,每个扩展几乎可以修改文档处理的任何方面。
本章介绍与Sphinx捆绑的插件。有关编写自己的扩展的API文档,请参阅:ref:dev extensions。
内置插件¶
这些插件是内置的,可以通过:confval:`extensions`配置值中的相应条目激活:
- :模式:sphinx.ext.autodoc–包括来自docstrings的文档
- :模式:sphinx.ext.autosectionlabel–允许引用节使用其标题
- :模式:sphinx.ext.自动摘要–生成自动文档摘要
- :模式:sphinx.ext.coverage–收集文档覆盖率统计
- :模式:sphinx.ext.doctest–文档中的测试片段
- :模式:sphinx.ext.duration——测量Sphinx加工的持续时间
- :模式:sphinx.ext.extlinks–标记以缩短外部链接
- :模式:sphinx.ext.githubpages–在GitHub页面中发布HTML文档
- :模式:sphinx.ext.graphviz–添加Graphviz图
- :模式:sphinx.ext.ifconfig–根据配置包含内容
- :模式:sphinx.ext.imgconverter–使用Imagemagick的参考图像转换器
- :模式:sphinx.ext.继承图–包括继承关系图
- :模式:sphinx.ext.intersphinx–链接到其他文档
- :模式:sphinx.ext.linkcode–向源代码添加外部链接
- Sphinx中HTML输出的数学支持
- :模式:sphinx.ext.napoleon——支持NumPy和Google风格的文档字符串
- :模式:sphinx.ext.todo–支持todo项
- :模式:sphinx.ext.viewcode–添加指向突出显示的源代码的链接
第三方插件¶
You can find several extensions contributed by users in the sphinx-contrib organization. If you wish to include your extension in this organization, simply follow the instructions provided in the github-administration project. This is optional and there are several extensions hosted elsewhere. The awesome-sphinxdoc and sphinx-extensions projects are both curated lists of Sphinx packages, and many packages use the Framework :: Sphinx :: Extension and Framework :: Sphinx :: Theme trove classifiers for Sphinx extensions and themes, respectively.
你自己的插件放在哪里?¶
项目的本地扩展应该放在项目的目录结构中。设置Python的模块搜索路径``搜索路径``,这样斯芬克斯才能找到他们。例如,如果您的分机``食品``位于项目根目录的“exts”子目录中,放入:文件:conf.py:
import sys, os
sys.path.append(os.path.abspath('exts'))
extensions = ['foo']
您也可以在任何其他地方安装插件``搜索路径``,例如在“站点包”目录中。