在Sphinx中,有没有办法让automodule指令生成类中成员的TOC?
现在我有
..内容::
.. topic:: Abstract
bla bla bla
.. automodule:: ServerCommHandler
:members:
:private-members:
:special-members:
:show-inheritance:
:inherited-members:
哪个工作正常,但这个模块中有很多方法,指向该方法的toc会非常好。
怎么样toctree。
.. toctree::
ServerCommHandler
autodocsumm扩展将允许autodoc指令(automodule,autoclass)自动添加类似内置autosummary扩展的汇总表。
它可以使用如下:
pip install autodocsumm
然后编辑你的conf.py
添加扩展名:
extensions = [
'sphinx.ext.autodoc',
...,
'autodocsumm',
]
并在你的autodoc指令中添加一个:autosummary:
选项,例如:
.. automodule: foo.bar
:autosummary:
如果您希望在没有明确添加autodoc指令的情况下对所有autodoc指令生效,可以从conf.py
执行以下操作:
autodoc_default_options = {
'autosummary': True,
}
如果您使用sphinx-apidoc动态生成API页面,这将非常有用,而sphinx-apidoc无法轻松配置以添加:autosummary:
。
自动生成所有API页面的conf.py
的完整示例:
def setup(app):
from sphinx.ext import apidoc
app.connect('builder-inited', lambda _: apidoc.main([
'-o', './api', '-d2', '-feMT', '../src/PROJECT',
]))
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.viewcode',
'sphinx.ext.githubpages',
'autodocsumm',
]
autodoc_default_options = {
'autosummary': True,
}
autodata_content = 'both'