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