我有一个包含多个类的模块。目前我使用..automodule
来记录模块。我希望每个类都有自己的带有类名的标题部分。我可以通过将..automodule foo
替换为:
Bar
===
..autoclass foo.Bar
Baz
===
..autoclass foo.Baz
...
但是,这需要我手动列出我为此执行的每个模块中的每个类。自定义自动模块生成的内容的最佳方法是什么?
答案 0 :(得分:3)
使用Sphinx并不像Epydoc或Doxygen那样直接从源代码生成API文档。这是一种不同的工具。
Sphinx适用于.rst(reStructuredText)文件,如果您希望每个类都有自己的类名称标题,则必须自己添加标题并使用.. autoclass::
。仅使用.. automodule::
无法完成此操作。是的,这很不方便(类似的情绪表达为here)。另请参阅this answer和this answer。
可以通过遍历Python代码并生成.rst输出的脚本来缓解此问题。 Sphinx已经附带了这样的脚本sphinx-apidoc。但是,它不会生成任何.. autoclass::
指令,只会生成.. automodule::
。
这是另一个可以输出.. autoclass::
:https://github.com/PyMVPA/PyMVPA/blob/master/tools/apigen.py的脚本。也许你可以使用它。