我正在使用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
,以便我只在得到的目录中获取包?
答案 0 :(得分:1)
关于可用的globbing语法的注释:您可以使用标准shell结构*,?,[...]和[!...]以及这些都与斜杠不匹配的功能。双星**可用于匹配任何字符序列,包括斜杠。
所以,这只是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语法,并根据您想要包含的文件/文件夹模式尝试不同的组合。