在 Sphinx 中使用 default_role = "any" 抑制未找到引用的警告

Wrz*_*mft 3 suppress-warnings python-sphinx

any在使用 Sphinx 构建文档时,我将其用作默认角色,它按预期工作,自动链接一些标记的引用并将其他引用格式化为代码,同时避免标记使文档字符串混乱。

\n\n

不幸的是,当以这种方式构建文档时,输出中充满了any无法找到目标的参考的警告:

\n\n
WARNING: \'any\' reference target not found: [\xe2\x80\xa6]\n
Run Code Online (Sandbox Code Playgroud)\n\n

有什么办法可以抑制这些警告吗?

\n\n

到目前为止,我能以这种方式找到的唯一资源是这个问题,但是它具体涉及一个完全不同的警告。

\n

Wrz*_*mft 5

我为此提交了一个功能请求,该请求被拒绝,但仍然产生了一个解决方案(感谢Takeshi Komiya):

将以下内容添加到conf.py

def on_missing_reference(app, env, node, contnode):
    if node['reftype'] == 'any':
        return contnode
    else:
        return None

def setup(app):
    app.connect('missing-reference', on_missing_reference)
Run Code Online (Sandbox Code Playgroud)