4

在 Sphinx 中,我收到大量警告,例如:

/PATH/FILENAME:LINE: WARNING: duplicate label LABELNAME, other instance in /PATH/FILENAME

似乎将所有部分标题都视为“标签”,并且有一堆部分标题用于多个文件。例如,每个版本的每个发行说明都有一页,并且在每个版本中都有“改进”和“修复”。

如何摆脱所有这些警告?是否应该将它们静音,或者是否有其他您应该使用的切片方式?

一个例子是desktop.rstvr-controls.rst中的标签“gamepad”

作为参考,我们仍然使用 Sphinx 2.4.4 我在更改日志中没有看到任何似乎相关的内容。

4

2 回答 2

1

问题是我们仍然使用不推荐使用的 conf.py 选项作为 recommonmark。根据recommonmark.readthedocs.io/en/latest/,我们仍在使用 Sphinx-1.3 及更早版本的 选项

from recommonmark.parser import CommonMarkParser

source_parsers = {
    '.md': CommonMarkParser,
}

source_suffix = ['.rst', '.md']

extensions = ['recommonmark']

解决了这个问题。

非常感谢@StevePiercy 让我意识到我们已弃用的配置。

于 2020-06-29T17:31:02.913 回答
0

看起来 sphinx 解析器解析文件夹中的每个 .rst 文件以创建 HTML。当其中一些 .rst 文件包含在 main.rst 中时,看起来我们收到了重复的标签消息。为了帮助解析器不解析这些包含,您可以尝试将扩展名从 .rst 更改为 .rest 之类的其他内容,然后这些消息就消失了。确保包含现在包含具有新文件扩展名的文件,如之前调用的 .rest

于 2021-10-07T00:23:17.143 回答