summaryrefslogtreecommitdiff
path: root/sphinx/builders/html.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/builders/html.py')
-rw-r--r--sphinx/builders/html.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py
index 926627a3..1b531779 100644
--- a/sphinx/builders/html.py
+++ b/sphinx/builders/html.py
@@ -915,6 +915,15 @@ class SingleFileHTMLBuilder(StandaloneHTMLBuilder):
self.fix_refuris(tree)
return tree
+ def assemble_toc_secnumbers(self):
+ # adhoc fix for issue #743; IDs are still conflict in singlehtml mode.
+ new_secnumbers = {}
+ for docname, secnums in iteritems(self.env.toc_secnumbers):
+ for id, secnum in iteritems(secnums):
+ new_secnumbers[(docname, id)] = secnum
+
+ return {'index': new_secnumbers}
+
def get_doc_context(self, docname, body, metatags):
# no relation links...
toc = self.env.get_toctree_for(self.config.master_doc, self, False)
@@ -950,6 +959,7 @@ class SingleFileHTMLBuilder(StandaloneHTMLBuilder):
self.info(bold('assembling single document... '), nonl=True)
doctree = self.assemble_doctree()
+ self.env.toc_secnumbers = self.assemble_toc_secnumbers()
self.info()
self.info(bold('writing... '), nonl=True)
self.write_doc_serialized(self.config.master_doc, doctree)