@@ -118,16 +118,17 @@ def assemble_toc_secnumbers(self) -> dict[str, dict[str, tuple[int, ...]]]:
118
118
# Assemble toc_secnumbers to resolve section numbers on SingleHTML.
119
119
# Merge all secnumbers to single secnumber.
120
120
#
121
- # Note: current Sphinx has refid confliction in singlehtml mode.
122
- # To avoid the problem, it replaces key of secnumbers to
121
+ # Note: current Sphinx patches refid with docname to avoid confliction
122
+ # in singlehtml mode.
123
+ # To match the patch, it replaces key of secnumbers to
123
124
# tuple of docname and refid.
124
125
#
125
126
# There are related codes in inline_all_toctres() and
126
127
# HTMLTranslter#add_secnumber().
127
128
new_secnumbers : dict [str , tuple [int , ...]] = {}
128
129
for docname , secnums in self .env .toc_secnumbers .items ():
129
130
for id , secnum in secnums .items ():
130
- alias = f'{ docname } / { id } '
131
+ alias = f'document- { docname } { id } '
131
132
new_secnumbers [alias ] = secnum
132
133
133
134
return {self .config .root_doc : new_secnumbers }
@@ -138,8 +139,9 @@ def assemble_toc_fignumbers(
138
139
# Assemble toc_fignumbers to resolve figure numbers on SingleHTML.
139
140
# Merge all fignumbers to single fignumber.
140
141
#
141
- # Note: current Sphinx has refid confliction in singlehtml mode.
142
- # To avoid the problem, it replaces key of secnumbers to
142
+ # Note: current Sphinx patches refid with docname to avoid confliction
143
+ # in singlehtml mode.
144
+ # To match the patch, it replaces key of secnumbers to
143
145
# tuple of docname and refid.
144
146
#
145
147
# There are related codes in inline_all_toctres() and
@@ -148,9 +150,10 @@ def assemble_toc_fignumbers(
148
150
# {'foo': {'figure': {'id2': (2,), 'id1': (1,)}}, 'bar': {'figure': {'id1': (3,)}}}
149
151
for docname , fignumlist in self .env .toc_fignumbers .items ():
150
152
for figtype , fignums in fignumlist .items ():
151
- alias = f'{ docname } / { figtype } '
153
+ alias = f'document- { docname } # { figtype } '
152
154
new_fignumbers .setdefault (alias , {})
153
155
for id , fignum in fignums .items ():
156
+ id = f'document-{ docname } #{ id } '
154
157
new_fignumbers [alias ][id ] = fignum
155
158
156
159
return {self .config .root_doc : new_fignumbers }
0 commit comments