Добавьте дополнительный класс к ролям интерпретируемого текста в Sphinx.Python

Программы на Python
Anonymous
Добавьте дополнительный класс к ролям интерпретируемого текста в Sphinx.

Сообщение Anonymous »

Я пытаюсь (вручную) вставить html-класс в определенные элементы, используя домен Python sphinx
Например, у меня есть эта строка:

Код: Выделить всё

Lore Ipsum :py:mod:`dataclasses`
В результате:

Код: Выделить всё

Lore Ipsum [url=...dataclasses.html#module-dataclasses]

dataclass
[/url]

К a или code.class я хотел бы добавить дополнительный класс. например "injected", чтобы получить следующий результат Некоторые исследования, которые я провел, чтобы найти решение

Роль «Наследовать» 💥

Код: Выделить всё

.. role : injected_mod(?py:mod?)
:class: injected

:injected_mod:`dataclasses`
Проблема: не знаю, что поставить в скобки, думаю, я не смогу там использовать домены -> Не допустимая роль.

Зарегистрироваться новая роль ❌

Возможно, но Проблема: я хочу сохранить функциональность домена py.

Добавить роль в домен :py: ❓

Код: Выделить всё

# conf.py
def setup():
app.add_role_to_domain("py", "injected", PyXRefRole())
Что работает: добавляет класс «py-injected», с которым я мог бы работать

Проблема ?: функция поиска и связывание с py:module не работают, т. е. нет Я знаю, что с помощью синтаксического анализа MyST это довольно просто, но в настоящее время я не могу анализировать этот текст глобально через MyST.
[/list]

Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-sphinx

Вернуться в «Python»