summaryrefslogtreecommitdiff
path: root/sphinx/writers/html.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/writers/html.py')
-rw-r--r--sphinx/writers/html.py33
1 files changed, 18 insertions, 15 deletions
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py
index d3e7e03a4..35c29550e 100644
--- a/sphinx/writers/html.py
+++ b/sphinx/writers/html.py
@@ -13,7 +13,7 @@ import os
import posixpath
import re
import warnings
-from typing import Any, Iterable, Tuple, cast
+from typing import TYPE_CHECKING, Iterable, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -22,14 +22,13 @@ from docutils.writers.html4css1 import Writer
from sphinx import addnodes
from sphinx.builders import Builder
-from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
+from sphinx.deprecation import RemovedInSphinx50Warning
from sphinx.locale import _, __, admonitionlabels
from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.images import get_image_size
-if False:
- # For type annotation
+if TYPE_CHECKING:
from sphinx.builders.html import StandaloneHTMLBuilder
@@ -84,16 +83,9 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
Our custom HTML translator.
"""
- builder = None # type: StandaloneHTMLBuilder
+ builder: "StandaloneHTMLBuilder" = None
- def __init__(self, *args: Any) -> None:
- if isinstance(args[0], nodes.document) and isinstance(args[1], Builder):
- document, builder = args
- else:
- warnings.warn('The order of arguments for HTMLTranslator has been changed. '
- 'Please give "document" as 1st and "builder" as 2nd.',
- RemovedInSphinx40Warning, stacklevel=2)
- builder, document = args
+ def __init__(self, document: nodes.document, builder: Builder) -> None:
super().__init__(document, builder)
self.highlighter = self.builder.highlighter
@@ -379,7 +371,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
def depart_classifier(self, node: Element) -> None:
self.body.append('</span>')
- next_node = node.next_node(descend=False, siblings=True) # type: Node
+ next_node: Node = node.next_node(descend=False, siblings=True)
if not isinstance(next_node, nodes.classifier):
# close `<dt>` tag at the tail of classifiers
self.body.append('</dt>')
@@ -390,7 +382,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
# overwritten
def depart_term(self, node: Element) -> None:
- next_node = node.next_node(descend=False, siblings=True) # type: Node
+ next_node: Node = node.next_node(descend=False, siblings=True)
if isinstance(next_node, nodes.classifier):
# Leave the end tag to `self.depart_classifier()`, in case
# there's a classifier.
@@ -582,6 +574,13 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
self.body.append(self.context.pop())
# overwritten
+ def visit_figure(self, node: Element) -> None:
+ # set align=default if align not specified to give a default style
+ node.setdefault('align', 'default')
+
+ return super().visit_figure(node)
+
+ # overwritten
def visit_image(self, node: Element) -> None:
olduri = node['uri']
# rewrite the URI if the environment knows about it
@@ -782,6 +781,10 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
def visit_table(self, node: Element) -> None:
self._table_row_index = 0
+
+ # set align=default if align not specified to give a default style
+ node.setdefault('align', 'default')
+
return super().visit_table(node)
def visit_row(self, node: Element) -> None: