9

我有一个包含各种文件夹的目录,每个文件夹中都有 matlab 源文件。其中一些文件夹具有包含 matlab 源文件的子文件夹。

如何使用 Sphinx 创建 TOC 树以嵌套方式包含子文件夹?

例如,当Main-Directory包含conf.pyindex.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/indexindex.rst其中Folder2/index.rst包含 的自动模块Folder2.1,其中不包括ghi.m.

如何让 Sphinx 在其 TOC 树中显示嵌套的子文件夹?

4

1 回答 1

4

我已经开始使用 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

这是关于 Nested 的 Sphinx Docstoctree并不清楚。显然,您需要autodoc更复杂/更深的树结构的代码。

于 2018-07-12T03:44:36.320 回答