diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py index e2eda3fc0..0f70932a3 100644 --- a/sphinx/builders/html.py +++ b/sphinx/builders/html.py @@ -641,7 +641,8 @@ class StandaloneHTMLBuilder(Builder): baseuri=self.get_target_uri(pagename)): if not resource: otheruri = self.get_target_uri(otheruri) - return relative_uri(baseuri, otheruri) + uri = relative_uri(baseuri, otheruri) or '#' + return uri ctx['pathto'] = pathto ctx['hasdoc'] = lambda name: name in self.env.all_docs ctx['customsidebar'] = self.config.html_sidebars.get(pagename) diff --git a/sphinx/environment.py b/sphinx/environment.py index 95595dd56..83c97d5f4 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -930,7 +930,7 @@ class BuildEnvironment: """Return a TOC nodetree -- for use on the same page only!""" toc = self.tocs[docname].deepcopy() for node in toc.traverse(nodes.reference): - node['refuri'] = node['anchorname'] + node['refuri'] = node['anchorname'] or '#' return toc def get_toctree_for(self, docname, builder, collapse):