2
2
3
3
from __future__ import annotations
4
4
5
+ import warnings
5
6
from typing import TYPE_CHECKING , Any
6
7
7
8
from docutils import nodes
8
9
9
10
from sphinx .builders .html import StandaloneHTMLBuilder
11
+ from sphinx .deprecation import RemovedInSphinx10Warning
10
12
from sphinx .environment .adapters .toctree import global_toctree_for_doc
11
13
from sphinx .locale import __
12
14
from sphinx .util import logging
@@ -52,6 +54,14 @@ def get_relative_uri(self, from_: str, to: str, typ: str | None = None) -> str:
52
54
return self .get_target_uri (to , typ )
53
55
54
56
def fix_refuris (self , tree : Node ) -> None :
57
+ deprecation_msg = (
58
+ "The 'SingleFileHTMLBuilder.fix_refuris' method is no longer used "
59
+ 'within the builder and is planned for removal in Sphinx 10. '
60
+ 'Please report malformed URIs generated by the Sphinx singlehtml '
61
+ 'builder as bugreports.'
62
+ )
63
+ warnings .warn (deprecation_msg , RemovedInSphinx10Warning , stacklevel = 2 )
64
+
55
65
# fix refuris with double anchor
56
66
for refnode in tree .findall (nodes .reference ):
57
67
if 'refuri' not in refnode :
@@ -78,8 +88,6 @@ def _get_local_toctree(
78
88
toctree = global_toctree_for_doc (
79
89
self .env , docname , self , collapse = collapse , ** kwargs
80
90
)
81
- if toctree is not None :
82
- self .fix_refuris (toctree )
83
91
return self .render_partial (toctree )['fragment' ]
84
92
85
93
def assemble_doctree (self ) -> nodes .document :
@@ -89,7 +97,6 @@ def assemble_doctree(self) -> nodes.document:
89
97
tree = inline_all_toctrees (self , set (), master , tree , darkgreen , [master ])
90
98
tree ['docname' ] = master
91
99
self .env .resolve_references (tree , master , self )
92
- self .fix_refuris (tree )
93
100
return tree
94
101
95
102
def assemble_toc_secnumbers (self ) -> dict [str , dict [str , tuple [int , ...]]]:
@@ -140,7 +147,6 @@ def get_doc_context(self, docname: str, body: str, metatags: str) -> dict[str, A
140
147
)
141
148
# if there is no toctree, toc is None
142
149
if toctree :
143
- self .fix_refuris (toctree )
144
150
toc = self .render_partial (toctree )['fragment' ]
145
151
display_toc = True
146
152
else :
0 commit comments