2024-09-27 21:26:55 发布
网友
我想打印在我的项目中所有斯芬克斯文档中定义的所有标签的列表,包括我这样手动定义的标签
.. _mylabel:
以及sphinx自动生成的标签,例如:ref:`genindex`和:ref:`search`。在
对于大型项目,我经常忘记我是如何拼写某些标签的(我是称之为“示例”、“示例”还是“教派示例”)。如果我可以打印出在任何一个文件中定义的所有标签,我就可以在每次引用某个文件时查看该列表并识别其名称,而无需检查单个文件。在
当sphinx运行时,它将解析的文档信息保存在一个名为environmment.pickle的文件中。这包括在项目中定义的所有引用的标签,包括在rst文件中显式显示的和在运行sphinx时自动设置的那些。 这是按域排序的。以下是在“标准域”(std)中查找所有标签的方法:
environmment.pickle
std
import cPickle dat = cPickle.load(file('environment.pickle')) dat.domaindata['std']['labels'].keys()
这同样适用于其他狮身人面像领域。 您将看到标签modindex(对于python模块索引)总是被定义的,即使没有生成模块索引(指向这个的链接将是死的)。在
modindex
Sphinx只定义了很少的标签(search,genindex,modindex),因此这里所述的方法回答了我最初的问题,但可能只对Sphinx扩展的调试有用。在
search
genindex
最简单的方法是使用grep并使用regex进行搜索:
grep
grep '^\.\. _' path/to/docs/* -r
当sphinx运行时,它将解析的文档信息保存在一个名为
environmment.pickle
的文件中。这包括在项目中定义的所有引用的标签,包括在rst文件中显式显示的和在运行sphinx时自动设置的那些。 这是按域排序的。以下是在“标准域”(std
)中查找所有标签的方法:这同样适用于其他狮身人面像领域。 您将看到标签
modindex
(对于python模块索引)总是被定义的,即使没有生成模块索引(指向这个的链接将是死的)。在Sphinx只定义了很少的标签(
search
,genindex
,modindex
),因此这里所述的方法回答了我最初的问题,但可能只对Sphinx扩展的调试有用。在最简单的方法是使用
grep
并使用regex进行搜索:相关问题 更多 >
编程相关推荐