From 05d97f85d81faac146c640a78db782fd67b02ac5 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 7 Aug 2023 22:38:48 +0100 Subject: [PATCH 01/24] Extract functions to module-level --- sphinx/environment/adapters/toctree.py | 392 ++++++++++++++----------- 1 file changed, 218 insertions(+), 174 deletions(-) diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py index edc085005ff..496b42d82d4 100644 --- a/sphinx/environment/adapters/toctree.py +++ b/sphinx/environment/adapters/toctree.py @@ -17,6 +17,7 @@ if TYPE_CHECKING: from sphinx.builders import Builder from sphinx.environment import BuildEnvironment + from sphinx.util.tags import Tags logger = logging.getLogger(__name__) @@ -81,159 +82,26 @@ def resolve(self, docname: str, builder: Builder, toctree: addnodes.toctree, included = Matcher(self.env.config.include_patterns) excluded = Matcher(self.env.config.exclude_patterns) - def _toctree_add_classes(node: Element, depth: int) -> None: - """Add 'toctree-l%d' and 'current' classes to the toctree.""" - for subnode in node.children: - if isinstance(subnode, (addnodes.compact_paragraph, - nodes.list_item)): - # for

and

  • , indicate the depth level and recurse - subnode['classes'].append(f'toctree-l{depth - 1}') - _toctree_add_classes(subnode, depth) - elif isinstance(subnode, nodes.bullet_list): - # for