Подавить предупреждения для необоснованных ссылок с default_role = "any" в Sphinx

Я использую any в качестве роли по умолчанию при создании моей документации с помощью Sphinx, которая работает как задумано, автоматически связывая некоторые отмеченные ссылки и форматируя другие как код, избегая при этом загромождения строк документации разметкой.

К сожалению, при построении документации таким способом выходные данные загромождены предупреждениями для ссылок, для которых any не удалось найти цель:

WARNING: 'any' reference target not found: […]

Есть ли способ подавить эти предупреждения?

До сих пор единственным ресурсом, который я смог найти по этому поводу, был этот вопрос, который, однако, касается совсем другого предупреждения.

1 ответ

Решение

Я подал запрос об этом, который был отклонен, но тем не менее дал решение (спасибо Такеши Комия):

Добавьте следующее к 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)
Другие вопросы по тегам