我正在使用Sphinx为存储库生成文档。Sphinx toctree允许使用:glob:自动选择某些文档。
我有一个表格的toctree
.. toctree::
:maxdepth: 1
:glob:
_generated/some/repository/structure/*/doc/acme_corp_*其中第一个*获取位于/some/repository/structure中的所有不同模块,我需要来自以acme_corp_开头的模块的所有文档。
但是,当toctree输出时,这会同时获取包和模块。我尝试过使用_generated/some/repository/structure/*/doc/acme_corp_*package,但是没有输出匹配的链接(因为我猜单词package实际上并没有出现在路径中)。
如何让Sphinx自动生成maxdepth: 1 toctree,以便只获取结果目录中的包?
发布于 2018-02-01 09:57:32
作为a toctree footnotes states:
关于可用的全局匹配语法的说明:您可以使用标准的外壳构造*,?,...还有!..其特点是这些都不匹配斜杠。双星**可用于匹配任何字符序列,包括斜杠。
所以,这只是getting the glob syntax correct的问题。如果你只想匹配python包,它是包含__init__.py和其他.py文件的文件夹,这可能是可行的:
.. toctree::
:maxdepth: 1
:glob:
_generated/some/repository/structure/*/doc/acme_corp_*/如果你只想匹配python模块,这是module_name.py文件,这可能是可行的:
.. toctree::
:maxdepth: 1
:glob:
_generated/some/repository/structure/*/doc/acme_corp_*.py我不能重复这一点,因为我不知道你确切的项目结构,但请阅读glob语法,并尝试基于你想要包括的文件/文件夹模式的不同组合。
https://stackoverflow.com/questions/48553567
复制相似问题