我需要Sphinx自动摘要扩展来使用:toctree: generated/生成存根,但我也想防止目录条目出现在HTML侧边栏中。考虑以下文档字符串:
MySubPackage (mypackage.mysubpackage)
=====================================
Some Title
----------
.. currentmodule:: mypackage.mysubpackage
Some description
.. toctree::
:hidden:
:maxdepth: 1
mypackage.mysubpackage.mysubsubpackage1
mypackage.mysubpackage.mysubsubpackage2
Sub-Packages
------------
.. autosummary::
:toctree: generated/
mysubsubpackage1
mysubsubpackage2每个subsubpackage包含更多的私有subsubsubpackages,这些私有are具有在subsubpackage的__init__.py文件的文档字符串中公开的类和方法。autosummary成功地为这些subsubpackages中的所有类和函数生成了存根文件,但不为中间包生成存根.rst文件。最后,我留下了缺少的存根文件,没有存根文件,子子包的类和方法既不存在TOC条目,也不存在模块路径。使用Sphinx的.. toctree::指令通过生成中间存根文件解决了一半的问题。但是,我最终在侧边栏TOC中得到了重复的条目。我需要做的就是让自动汇总生成中间存根文件,或者使用某种自动汇总的选项,比如:hiddentoc:,这样它就会保留生成的存根文件,而不会向目录中添加条目。我是Sphinx的新手,我尝试仅使用docstring自动执行文档生成过程。
提前谢谢你!
发布于 2021-06-27 19:32:03
问题解决了!对于任何有类似问题的人,请继续阅读。
该问题是由于在子包的__init__.py文件中重复使用:toctree: generated/选项造成的。它导致自动摘要扩展创建嵌套的/generated/generated/..目录,因此无法找到*.stub文件。在删除输出目录路径并将其保留为简单的:toctree:之后,问题就解决了,并且不需要在.. autosummary::指令中使用额外的.. toctree::。
https://stackoverflow.com/questions/68137977
复制相似问题