diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-05 14:41:18 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-08 14:34:56 +0200 |
commit | e38207f81d0da414e07d982ab17699e109d3f2e2 (patch) | |
tree | fe83b7aa28bdb5feb88fd35a56af94f4c7380dcb /rtemsspec/specdoc.py | |
parent | sphinxcontent: Add SphinxContent.latex_tiny() (diff) | |
download | rtems-central-e38207f81d0da414e07d982ab17699e109d3f2e2.tar.bz2 |
sphinxcontent: Rework label handling
Rename get_label() in make_label(). Add a label stack to SphinxContent.
Diffstat (limited to 'rtemsspec/specdoc.py')
-rw-r--r-- | rtemsspec/specdoc.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/rtemsspec/specdoc.py b/rtemsspec/specdoc.py index 658da477..cbab0574 100644 --- a/rtemsspec/specdoc.py +++ b/rtemsspec/specdoc.py @@ -27,7 +27,7 @@ import re from typing import Any, Dict, Iterator, List, Optional, Pattern, Set, Tuple -from rtemsspec.sphinxcontent import get_reference, get_label, \ +from rtemsspec.sphinxcontent import get_reference, make_label, \ SphinxContent, SphinxMapper from rtemsspec.items import Item, ItemCache, ItemGetValueContext from rtemsspec.specverify import NAME @@ -275,7 +275,7 @@ class _Documenter: def _get_ref_specification_type(self, ctx: ItemGetValueContext) -> Any: return get_reference(self._label_prefix + - get_label(ctx.value[ctx.key])) + make_label(ctx.value[ctx.key])) def _substitute(self, text: str) -> str: if text: @@ -284,7 +284,7 @@ class _Documenter: def get_section_reference(self) -> str: """ Returns the section reference. """ - return get_reference(self._label_prefix + get_label(self.section)) + return get_reference(self._label_prefix + make_label(self.section)) def get_a_section_reference(self) -> str: """ Returns a section reference. """ @@ -440,7 +440,9 @@ class _Documenter: if self.get_list_element_type(): return content.register_license_and_copyrights_of_item(self._item) - with content.section(self.section, self._label_prefix): + with content.section( + self.section, + label=f"{self._label_prefix}{make_label(self.section)}"): last = content.lines[-1] self._add_description(content) if len(self._info_map) == 1: @@ -560,8 +562,9 @@ def document(config: dict, item_cache: ItemCache) -> None: for documenter in documenter_map.values(): documenter.resolve_used_by() documenter_names = set(documenter_map) - content.section_label_prefix = config["section-label-prefix"] + content.push_label(config["section-label-prefix"]) with content.section(config["section-name"]): + content.push_label(config["section-label-prefix"]) with content.section(config["hierarchy-subsection-name"]): content.add(config["hierarchy-text"]) root_documenter.hierarchy(content, ignore) |