/
githubmirror
/
cpython
Обзор
Документация
Войти
/
githubmirror
/
cpython
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Doc/tools/extensions/implementation_detail.py
47 строк
1 KB
Adam Turner
GH-121970: Extract ``implementation_detail`` into a new extension (#129663)
06 фев 2025, 19:53
Не верифицирован
06 фев 2025, 19:53
4d56c40
Код
Авторство
О чём код?
"""Support for marking up implementation details.""" from __future__ import annotations from typing import TYPE_CHECKING from docutils import nodes from sphinx.locale import _ as sphinx_gettext from sphinx.util.docutils import SphinxDirective if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.util.typing import ExtensionMetadata class ImplementationDetail(SphinxDirective): has_content = True final_argument_whitespace = True # This text is copied to templates/dummy.html label_text = sphinx_gettext("CPython implementation detail:") def run(self): self.assert_has_content() content_nodes = self.parse_content_to_nodes() # insert our prefix at the start of the first paragraph first_node = content_nodes[0] first_node[:0] = [ nodes.strong(self.label_text, self.label_text), nodes.Text(" "), ] # create a new compound container node cnode = nodes.compound("", *content_nodes, classes=["impl-detail"]) self.set_source_info(cnode) return [cnode] def setup(app: Sphinx) -> ExtensionMetadata: app.add_directive("impl-detail", ImplementationDetail) return { "version": "1.0", "parallel_read_safe": True, "parallel_write_safe": True, }