Skip to content

Commit abdd3de

Browse files
committed
[singlehtml] Reformat fignum and secnum tuple
Format as ``/docname/#id`` to match other parts.
1 parent d38aef8 commit abdd3de

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

sphinx/builders/singlehtml.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def assemble_toc_secnumbers(self) -> dict[str, dict[str, tuple[int, ...]]]:
128128
new_secnumbers: dict[str, tuple[int, ...]] = {}
129129
for docname, secnums in self.env.toc_secnumbers.items():
130130
for id, secnum in secnums.items():
131-
alias = f'{docname}/{id}'
131+
alias = f'/{docname}/{id}'
132132
new_secnumbers[alias] = secnum
133133

134134
return {self.config.root_doc: new_secnumbers}
@@ -149,9 +149,10 @@ def assemble_toc_fignumbers(
149149
# {'foo': {'figure': {'id2': (2,), 'id1': (1,)}}, 'bar': {'figure': {'id1': (3,)}}}
150150
for docname, fignumlist in self.env.toc_fignumbers.items():
151151
for figtype, fignums in fignumlist.items():
152-
alias = f'{docname}/{figtype}'
152+
alias = f'/{docname}/#{figtype}'
153153
new_fignumbers.setdefault(alias, {})
154154
for id, fignum in fignums.items():
155+
id = f'/{docname}/#{id}'
155156
new_fignumbers[alias][id] = fignum
156157

157158
return {self.config.root_doc: new_fignumbers}

sphinx/writers/html5.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,10 +395,10 @@ def get_secnumber(self, node: Element) -> tuple[int, ...] | None:
395395
if isinstance(node.parent, nodes.section):
396396
if self.builder.name == 'singlehtml':
397397
docname = self.docnames[-1]
398-
anchorname = f'{docname}/#{node.parent["ids"][0]}'
398+
anchorname = node.parent['ids'][0]
399399
if anchorname not in self.builder.secnumbers:
400400
# try first heading which has no anchor
401-
anchorname = f'{docname}/'
401+
anchorname = '/' + docname + '/'
402402
else:
403403
anchorname = '#' + node.parent['ids'][0]
404404
if anchorname not in self.builder.secnumbers:
@@ -420,7 +420,7 @@ def add_secnumber(self, node: Element) -> None:
420420
def add_fignumber(self, node: Element) -> None:
421421
def append_fignumber(figtype: str, figure_id: str) -> None:
422422
if self.builder.name == 'singlehtml':
423-
key = f'{self.docnames[-1]}/{figtype}'
423+
key = f'/{self.docnames[-1]}/#{figtype}'
424424
else:
425425
key = figtype
426426

0 commit comments

Comments
 (0)