@@ -101,16 +101,17 @@ def assemble_toc_secnumbers(self) -> dict[str, dict[str, tuple[int, ...]]]:
101101 # Assemble toc_secnumbers to resolve section numbers on SingleHTML.
102102 # Merge all secnumbers to single secnumber.
103103 #
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
106107 # tuple of docname and refid.
107108 #
108109 # There are related codes in inline_all_toctres() and
109110 # HTMLTranslter#add_secnumber().
110111 new_secnumbers : dict [str , tuple [int , ...]] = {}
111112 for docname , secnums in self .env .toc_secnumbers .items ():
112113 for id , secnum in secnums .items ():
113- alias = f'{ docname } / { id } '
114+ alias = f'document- { docname } { id } '
114115 new_secnumbers [alias ] = secnum
115116
116117 return {self .config .root_doc : new_secnumbers }
@@ -121,8 +122,9 @@ def assemble_toc_fignumbers(
121122 # Assemble toc_fignumbers to resolve figure numbers on SingleHTML.
122123 # Merge all fignumbers to single fignumber.
123124 #
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
126128 # tuple of docname and refid.
127129 #
128130 # There are related codes in inline_all_toctres() and
@@ -131,9 +133,10 @@ def assemble_toc_fignumbers(
131133 # {'foo': {'figure': {'id2': (2,), 'id1': (1,)}}, 'bar': {'figure': {'id1': (3,)}}}
132134 for docname , fignumlist in self .env .toc_fignumbers .items ():
133135 for figtype , fignums in fignumlist .items ():
134- alias = f'{ docname } / { figtype } '
136+ alias = f'document- { docname } # { figtype } '
135137 new_fignumbers .setdefault (alias , {})
136138 for id , fignum in fignums .items ():
139+ id = f'document-{ docname } #{ id } '
137140 new_fignumbers [alias ][id ] = fignum
138141
139142 return {self .config .root_doc : new_fignumbers }
0 commit comments