如何让 Sphinx 自动摘要为类生成完整的 API 文档,以及为这些类生成*汇总表*?

Jam*_*ham 6 python python-sphinx

我确定这是一个或另一个级别的用户错误,但我在这里慢慢发疯并且非常感谢一些帮助。

我已经sphinx-apidoc让优秀的第三方和优秀的第三方sphinx-autoapi工作,但不能重复使用sphinx.ext.autosummary. 这让我发疯......加上这些选项都没有给你真正整洁的包/模块成员汇总表,它们(大概)是sphinx.ext.autosummary.

我有一个非常简单的项目:

|_ TEST
   |_ docs
      |_ conf.py
      |_ index.rst
   |_ myproject
      |_ __init__.py
      |_ mymodule.py
Run Code Online (Sandbox Code Playgroud)

conf.py 看起来像这样:

|_ TEST
   |_ docs
      |_ conf.py
      |_ index.rst
   |_ myproject
      |_ __init__.py
      |_ mymodule.py
Run Code Online (Sandbox Code Playgroud)

index.rst 看起来像这样:

.. autosummary::
   :toctree: _autosummary

   myproject.mymodule
Run Code Online (Sandbox Code Playgroud)

mymodule.py 看起来像这样:

import os
import sys
sys.path.insert(0, os.path.abspath('../../myproject'))

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.autosummary'
]

autosummary_generate = True
Run Code Online (Sandbox Code Playgroud)

make html从该docs目录运行使这个可爱的 Readthedocs 风格的 HTML:

(见图)

我想要做的是单击TestClass汇总表中的函数并访问一个新页面,该页面显示了该类的完整 API 文档。我怎样才能做到这一点?

(还是我错过了点,我必须结合sphinx.ext.autosummary使用sphinx-apidoc,以获得我需要什么..?)

Jam*_*ham 4

从Sphinx 3.1版本(2020年6月)开始,sphinx.ext.autosummary终于有了递归!

我在这里回答了我自己的问题:https ://stackoverflow.com/a/62613202/12014259