将子文件夹中的文件添加到sphinx文档中(sphinxcontrib-matlabdomain)

时间:2015-11-02 20:37:37

标签: matlab documentation python-sphinx documentation-generation read-the-docs

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

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

例如,当Main-Directory包含conf.pyindex.rstmoduleslist.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树中显示嵌套的子文件夹?

1 个答案:

答案 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代码。