如何在sphinx.ext.autosummary中从侧栏隐藏TOC?

2024-10-01 09:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要Sphinx autosummary扩展来使用:toctree: generated/生成存根,但我还想防止TOC条目出现在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,其类和方法在subsubpackage__init__.py文件的docstring中公开。autosummary成功地为这些subsubpackages中的所有类和函数生成存根文件,但不为中间包生成存根.rst文件。最后,我留下了丢失的存根文件,没有这些存根文件,就不会出现TOC条目,也不会出现子包的类和方法的模块路径。使用Sphinx的.. toctree::指令通过生成中间存根文件解决了一半问题。然而,我在工具条TOC中得到了重复的条目。我所需要的是要么使autosummary生成中间存根文件,要么对autosummary使用某种选项,比如:hiddentoc:,这样它可以保留生成的存根文件,但不会添加到TOC的条目中。我对Sphinx比较陌生,我尝试只使用docstring自动化文档生成过程

提前多谢


Tags: 文件方法sphinx条目somegenerated存根mypackage
1条回答
网友
1楼 · 发布于 2024-10-01 09:30:29

问题解决了!对于任何有类似问题的人,请继续阅读

该问题是由于在子包的__init__.py文件中重复使用:toctree: generated/选项造成的。它导致自动摘要扩展创建嵌套的/generated/generated/..目录,因此无法定位*.stub文件。删除输出目录路径并将其保留为:toctree:后,问题得到解决,不需要使用额外的.. toctree::.. autosummary::指令

相关问题 更多 >