From 88fe62d32e3456c9301aba7a8d9481ff13bf5ba7 Mon Sep 17 00:00:00 2001 From: Shengyu Zhang Date: Wed, 10 Dec 2025 23:00:37 +0800 Subject: [PATCH] refactor: Drop all logic about supported builder --- src/sphinxnotes/strike/__init__.py | 31 +----------------------------- 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/src/sphinxnotes/strike/__init__.py b/src/sphinxnotes/strike/__init__.py index dbb9fb7..4d09a66 100644 --- a/src/sphinxnotes/strike/__init__.py +++ b/src/sphinxnotes/strike/__init__.py @@ -12,13 +12,10 @@ from docutils import nodes from docutils.utils import unescape -from docutils.nodes import Node, system_message, Text +from docutils.nodes import Node, system_message from docutils.parsers.rst.states import Inliner from sphinx.application import Sphinx -from sphinx.builders import Builder -from sphinx.builders.html import StandaloneHTMLBuilder -from sphinx.builders.latex import LaTeXBuilder from sphinx.util import logging from sphinx.environment import BuildEnvironment @@ -26,10 +23,6 @@ logger = logging.getLogger(__name__) -# NOTE: DEPRECATED since 1.3, DO NOT use it. -SUPPORTED_BUILDERS: list[type[Builder]] = [StandaloneHTMLBuilder, LaTeXBuilder] - - class strike_node(nodes.Inline, nodes.TextElement): pass @@ -44,17 +37,6 @@ def strike_role( content: List[str] = [], ) -> Tuple[List[Node], List[system_message]]: env: BuildEnvironment = inliner.document.settings.env # type: ignore - builder = env.app.builder - - if not _is_supported_builder(builder): - logger.warning( - f'role {typ} is not supported for builder {builder.name}, fallback to text', - location=(env.docname, lineno), - type='strike', - subtype='unsupported_builder', - ) - return [Text(unescape(text))], [] - node = strike_node(rawtext, unescape(text)) node['docname'] = env.docname return [node], [] @@ -84,17 +66,6 @@ def latext_depart_strike_node(self, node: strike_node) -> None: self.body.append('}') -def _is_supported_builder(builder: Builder) -> bool: - if isinstance(builder, tuple(SUPPORTED_BUILDERS)): - return True # NOTE: Compatible with version 1.2. - - # a dict of builder name -> dict of node name -> visitor and departure functions - handlers = builder.app.registry.translation_handlers.get(builder.name) - if handlers is None: - return False - return handlers.get(strike_node.__name__) is not None - - def setup(app: Sphinx): """Sphinx extension entrypoint.""" meta.pre_setup(app)