5

我有一个包含几个类的模块。目前我正在使用..automodule记录模块。我希望每个类都有自己的带有类名的标题部分。我可以通过替换..automodule foo为:

Bar
===

..autoclass foo.Bar

Baz
===

..autoclass foo.Baz

...

但是,这需要我手动列出我为其执行此操作的每个模块中的每个类。自定义 automodule 生成的内容的最佳方法是什么?

4

1 回答 1

5

Sphinx 不像 Epydoc 或 Doxygen 那样直接用于从源代码生成 API 文档。这是一种不同的工具。

Sphinx 适用于 .rst (reStructuredText) 文件,如果您希望每个类都有自己的标题和类名,您必须自己添加标题并使用.. autoclass::. 不能只用.. automodule::. 是的,这很不方便(这里表达了类似的观点)。另请参阅此答案此答案

该问题可以通过遍历 Python 代码并生成 .rst 输出的脚本来缓解。Sphinx 已经带有这样的脚本sphinx-apidoc。但是,它不会产生任何.. autoclass::指令,只会产生.. automodule::.

这是另一个可以输出的脚本.. autoclass::https ://github.com/PyMVPA/PyMVPA/blob/master/tools/apigen.py 。也许你可以使用它。

于 2013-05-15T19:13:42.893 回答