Сфинкс добавить форматирование кода для:ref:

Я хотел бы добавить форматирование кода для ссылки, как это:

:ref:`__slots__ <python:slots>`

мой intersphinx_mapping определяет python как это:

intersphinx_mapping = {
    'python': ('https://docs.python.org/3', None),
}

поэтому ссылка на https://docs.python.org/3/reference/datamodel.html (slots определяется в std:label раздел https://docs.python.org/3/objects.inv)

Моя цель - отформатировать предоставленную ссылку в стиле :py:attr: или аналогичный, а не стиль текста по умолчанию, с которым :ref: оказывает.

Ни один из следующих вариантов не работает:

  • ... ``:ref:`__slots__ <python:slots>``` ... выводит как

    ... :ref:`__slots__ <python:slots>`...

  • ... ``:ref:`__slots__ <python:slots>` `` ... выводит как

    ... __slots__...

  • ... :ref:```__slots__`` <python:slots>` ... выводит как

    ...: ref: `` `__slots__`` `...

    Есть две отдельные внутренние ссылки на #id1 в этом случае.

  • ... :ref:` ``__slots__`` <python:slots>` ... выводит как

    ...: ref: ` ` ` __slots__`` `...

Relpacing ``...`` с :code:`...` или же :literal:`...` внутри или снаружи :ref: тоже не помогает. На самом деле, похоже, что вложенные роли вообще не разрешены.

Я хотел бы иметь встроенную роль, которая приводит к чему-то, что визуализируется со стилем кода и ссылкой, как

... __slots__...

Как я могу получить основные :ref: (или эквивалентный), чтобы появиться с форматированием стиля кода, используемого :py:attr:?

Я использую Sphinx 1.6.3 с Python 3.6.2 в среде Anaconda.

Обратный вопрос здесь: Sphinx удаляет форматирование кода из пользовательской ссылки на код

Тангенциально релевантный вопрос: вложенные / составные роли: применить несколько ролей к перекрывающемуся тексту

1 ответ

Решение

:any: Роль делает то, что вы хотите:

:any:`__slots__ <python:slots>`

Это "вспомогательная роль", которая ищет цели перекрестных ссылок в текущем домене, а также цели, которые работают с :ref:,

Домен Python имеет несколько конкретных ролей перекрестных ссылок для разных типов объектов.

Другие вопросы по тегам