diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-12-16 00:05:35 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-12-16 00:05:35 +0900 |
commit | 712c20a3d91cd80247c5625782ba8ada2b2c2378 (patch) | |
tree | d151c391d9bc18aa2ceffa455efa658bafc1ec29 /sphinx/writers/html5.py | |
parent | 5a03cac7d369ea71e1414792df62668ca5fd8190 (diff) | |
parent | cb5fab5db90c2177ede34af876b19e58b9dc1263 (diff) | |
download | sphinx-git-712c20a3d91cd80247c5625782ba8ada2b2c2378.tar.gz |
Merge branch '2.0'
Diffstat (limited to 'sphinx/writers/html5.py')
-rw-r--r-- | sphinx/writers/html5.py | 23 |
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: |