gpt4 book ai didi

python - 如何打印 sphinx 项目中定义的所有标签?

转载 作者:行者123 更新时间:2023-11-30 23:18:32 34 4
gpt4 key购买 nike

我想打印项目中所有 sphinx 文档中定义的所有标签的列表,包括我像这样手动定义的标签

.. _mylabel:

还有 sphinx 自动生成的标签,例如:ref:`genindex` 和:ref:`search`。

对于大型项目,我经常忘记如何拼写某些标签(我是否称其为“examples”、“Examples”或“sect-examples”?)。如果我可以打印出任何文件中定义的所有标签,那么每次我想要引用某些内容时,我就可以查看该列表并识别名称,而无需检查单个文件。

最佳答案

当 sphinx 运行时,它将有关其解析的文档的信息保存在名为 environmment.pickle 的文件中。这包括项目中定义的所有引用的标签,包括第一个文件中显式的以及运行 sphinx 时自动设置的标签。这是按域排序的。以下是我在“标准域”(std) 中查找所有标签的方法:

import cPickle
dat = cPickle.load(file('environment.pickle'))
dat.domaindata['std']['labels'].keys()

这对于其他 sphinx 域同样有效。您将看到标签 modindex (用于 python 模块索引)始终被定义,即使未生成模块索引(指向此的链接将失效)。

Sphinx 仅定义了很少的标签(searchgenindexmodindex),因此此处所述的方法回答了我原来的问题,但是可能只对调试 sphinx 扩展有用。

关于python - 如何打印 sphinx 项目中定义的所有标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26666859/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com