@@ -101,16 +101,17 @@ def assemble_toc_secnumbers(self) -> dict[str, dict[str, tuple[int, ...]]]:
101
101
# Assemble toc_secnumbers to resolve section numbers on SingleHTML.
102
102
# Merge all secnumbers to single secnumber.
103
103
#
104
- # Note: current Sphinx has refid confliction in singlehtml mode.
105
- # To avoid the problem, it replaces key of secnumbers to
104
+ # Note: current Sphinx patches refid with docname to avoid confliction
105
+ # in singlehtml mode.
106
+ # To match the patch, it replaces key of secnumbers to
106
107
# tuple of docname and refid.
107
108
#
108
109
# There are related codes in inline_all_toctres() and
109
110
# HTMLTranslter#add_secnumber().
110
111
new_secnumbers : dict [str , tuple [int , ...]] = {}
111
112
for docname , secnums in self .env .toc_secnumbers .items ():
112
113
for id , secnum in secnums .items ():
113
- alias = f'{ docname } / { id } '
114
+ alias = f'document- { docname } { id } '
114
115
new_secnumbers [alias ] = secnum
115
116
116
117
return {self .config .root_doc : new_secnumbers }
@@ -121,8 +122,9 @@ def assemble_toc_fignumbers(
121
122
# Assemble toc_fignumbers to resolve figure numbers on SingleHTML.
122
123
# Merge all fignumbers to single fignumber.
123
124
#
124
- # Note: current Sphinx has refid confliction in singlehtml mode.
125
- # To avoid the problem, it replaces key of secnumbers to
125
+ # Note: current Sphinx patches refid with docname to avoid confliction
126
+ # in singlehtml mode.
127
+ # To match the patch, it replaces key of secnumbers to
126
128
# tuple of docname and refid.
127
129
#
128
130
# There are related codes in inline_all_toctres() and
@@ -131,9 +133,10 @@ def assemble_toc_fignumbers(
131
133
# {'foo': {'figure': {'id2': (2,), 'id1': (1,)}}, 'bar': {'figure': {'id1': (3,)}}}
132
134
for docname , fignumlist in self .env .toc_fignumbers .items ():
133
135
for figtype , fignums in fignumlist .items ():
134
- alias = f'{ docname } / { figtype } '
136
+ alias = f'document- { docname } # { figtype } '
135
137
new_fignumbers .setdefault (alias , {})
136
138
for id , fignum in fignums .items ():
139
+ id = f'document-{ docname } #{ id } '
137
140
new_fignumbers [alias ][id ] = fignum
138
141
139
142
return {self .config .root_doc : new_fignumbers }
0 commit comments