本文介绍了Sphinx定制自动分类输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

来实现此目的
Bar
===

..autoclass foo.Bar

Baz
===

..autoclass foo.Baz

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

Sphinx

在从源代码生成推荐答案文档时,使用Sphinx不像使用EPYDOC或DOXONCE那么简单。这是一种不同的工具。

Sphinx处理.rst(ReStrufredText)文件,如果希望每个类都有自己的带有类名的标题,则必须自己添加标题并使用.. autoclass::。这不是只有.. automodule::就能完成的。是的,这是不方便的(here表达了类似的观点)。另请参阅this answerthis answer

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

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

这篇关于Sphinx定制自动分类输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 11:06