summaryrefslogtreecommitdiff
path: root/sphinx/writers/html5.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-12-16 00:05:35 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-12-16 00:05:35 +0900
commit712c20a3d91cd80247c5625782ba8ada2b2c2378 (patch)
treed151c391d9bc18aa2ceffa455efa658bafc1ec29 /sphinx/writers/html5.py
parent5a03cac7d369ea71e1414792df62668ca5fd8190 (diff)
parentcb5fab5db90c2177ede34af876b19e58b9dc1263 (diff)
downloadsphinx-git-712c20a3d91cd80247c5625782ba8ada2b2c2378.tar.gz
Merge branch '2.0'
Diffstat (limited to 'sphinx/writers/html5.py')
-rw-r--r--sphinx/writers/html5.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py
index 3e67e4d1c..438f161f7 100644
--- a/sphinx/writers/html5.py
+++ b/sphinx/writers/html5.py
@@ -12,7 +12,7 @@ import os
import posixpath
import warnings
from typing import cast
-from typing import Iterable
+from typing import Iterable, Tuple
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -242,11 +242,11 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
def depart_seealso(self, node: Element) -> None:
self.depart_admonition(node)
- def add_secnumber(self, node: Element) -> None:
+ def get_secnumber(self, node: Element) -> Tuple[int, ...]:
if node.get('secnumber'):
- self.body.append('.'.join(map(str, node['secnumber'])) +
- self.secnumber_suffix)
- elif isinstance(node.parent, nodes.section):
+ return node['secnumber']
+
+ if isinstance(node.parent, nodes.section):
if self.builder.name == 'singlehtml':
docname = self.docnames[-1]
anchorname = "%s/#%s" % (docname, node.parent['ids'][0])
@@ -256,10 +256,17 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
anchorname = '#' + node.parent['ids'][0]
if anchorname not in self.builder.secnumbers:
anchorname = '' # try first heading which has no anchor
+
if self.builder.secnumbers.get(anchorname):
- numbers = self.builder.secnumbers[anchorname]
- self.body.append('.'.join(map(str, numbers)) +
- self.secnumber_suffix)
+ return self.builder.secnumbers[anchorname]
+
+ return None
+
+ def add_secnumber(self, node: Element) -> None:
+ secnumber = self.get_secnumber(node)
+ if secnumber:
+ self.body.append('<span class="section-number">%s</span>' %
+ ('.'.join(map(str, secnumber)) + self.secnumber_suffix))
def add_fignumber(self, node: Element) -> None:
def append_fignumber(figtype: str, figure_id: str) -> None: