我有一个包含各种文件夹的目录,每个文件夹都包含matlab源文件。其中一些文件夹包含包含matlab源文件的子文件夹。
如何使用Sphinx创建TOC树以嵌套方式包含子文件夹?
例如,当Main-Directory
包含conf.py
,index.rst
和moduleslist.rst
以及以下文件夹结构时:
Folder1
abc.m
def.m
Folder2
Folder2.1
ghi.m
jkl.m
使用此index.rst
文件:
.. toctree::
:maxdepth: 1
moduleslist
和此moduleslist.rst
文件:
.. toctree::
:maxdepth: 2
Folder1
=========
.. automodule:: Folder1
:members:
Folder2
=========
.. automodule:: Folder2
:members:
但是这不包括子文件夹Folder2.1
和文件。我尝试在Folder2/index
中添加index.rst
,其中Folder2/index.rst
包含Folder2.1
的自动模块,其中没有包含ghi.m
的文档。
如何让Sphinx在其TOC树中显示嵌套的子文件夹?
答案 0 :(得分:1)
我已经开始使用Sphinx,并且在一般文档中遇到了此问题(不特定于autodoc功能)。这就是我使它起作用的方式,并且可以更好地控制树的构建方式。
将每个文件夹作为一个单独的组进行处理。因此,在Sphinx根目录下,您将拥有如下所示的index.rst文件:
.. toctree::
:maxdepth: 1
Folder1/index
Folder2/index
我使用maxdepth: 1
以便仅列出主要组名。
在Folder1和Folder2下,您需要添加其他index.rst
文件:
#Folder1/index.rst
.. toctree::
:maxdepth: 2
abc.m
def.m
#Folder2/index.rst
.. toctree::
:maxdepth: 2
Folder2.1/index
jkl.m
请注意,我已经设置了索引页,以便它们仅具有组列表(maxdepth: 1
)或详细信息页列表(maxdepth: 2
)-我敢肯定有一种方法使文件夹/索引位于深度1,文件位于深度2。
然后在Folder2.1
中,您需要第三个索引:
#Folder2.1/index.rst
.. toctree::
:maxdepth: 2
ghi.m
这里是Sphinx Docs on Nested toctree
,但不清楚。显然,对于更复杂/更深的树结构,您需要使用autodoc
代码。