diff options
Diffstat (limited to 'sphinx/environment/adapters')
-rw-r--r-- | sphinx/environment/adapters/indexentries.py | 4 | ||||
-rw-r--r-- | sphinx/environment/adapters/toctree.py | 19 |
2 files changed, 12 insertions, 11 deletions
diff --git a/sphinx/environment/adapters/indexentries.py b/sphinx/environment/adapters/indexentries.py index 6fdbea6..a12e131 100644 --- a/sphinx/environment/adapters/indexentries.py +++ b/sphinx/environment/adapters/indexentries.py @@ -129,7 +129,7 @@ def _add_entry(word: str, subword: str, main: str | None, *, def _key_func_0(entry: tuple[str, str]) -> tuple[bool, str]: - """sort the index entries for same keyword.""" + """Sort the index entries for same keyword.""" main, uri = entry return not main, uri # show main entries at first @@ -156,7 +156,7 @@ def _key_func_1(entry: tuple[str, list]) -> tuple[tuple[int, str], str]: def _key_func_2(entry: tuple[str, list]) -> str: - """sort the sub-index entries""" + """Sort the sub-index entries""" key = unicodedata.normalize('NFD', entry[0].lower()) if key.startswith('\N{RIGHT-TO-LEFT MARK}'): key = key[1:] diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py index e50d10b..cfe717f 100644 --- a/sphinx/environment/adapters/toctree.py +++ b/sphinx/environment/adapters/toctree.py @@ -47,7 +47,6 @@ def document_toc(env: BuildEnvironment, docname: str, tags: Tags) -> Node: For a ToC tree that shows the document's place in the ToC structure, use `get_toctree_for`. """ - tocdepth = env.metadata[docname].get('tocdepth', 0) try: toc = _toctree_copy(env.tocs[docname], 2, tocdepth, False, tags) @@ -74,10 +73,8 @@ def global_toctree_for_doc( This gives the global ToC, with all ancestors and their siblings. """ - - toctrees: list[Element] = [] - for toctree_node in env.master_doctree.findall(addnodes.toctree): - if toctree := _resolve_toctree( + resolved = ( + _resolve_toctree( env, docname, builder, @@ -87,8 +84,13 @@ def global_toctree_for_doc( titles_only=titles_only, collapse=collapse, includehidden=includehidden, - ): - toctrees.append(toctree) + ) + for toctree_node in env.master_doctree.findall(addnodes.toctree) + ) + toctrees = [ + toctree for toctree in resolved if toctree is not None + ] + if not toctrees: return None result = toctrees[0] @@ -113,7 +115,6 @@ def _resolve_toctree( If *collapse* is True, all branches not containing docname will be collapsed. """ - if toctree.get('hidden', False) and not includehidden: return None @@ -250,7 +251,7 @@ def _entries_from_toctree( included, excluded, sub_toc_node, - [refdoc] + parents, + [refdoc, *parents], subtree=True, ), start=sub_toc_node.parent.index(sub_toc_node) + 1, |