summaryrefslogtreecommitdiff
path: root/docutils
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2021-06-25 20:57:58 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2021-06-25 20:57:58 +0000
commit76d254eb6c0fe142bfe5fc65c5f89a8633b76980 (patch)
treeb26a2b64bcf4f41fa2a4afafaf62a842f1b79ae5 /docutils
parente1b84ec9f43b59ab826774d27cf5a0648febc921 (diff)
downloaddocutils-76d254eb6c0fe142bfe5fc65c5f89a8633b76980.tar.gz
Complete visit_* / depart_* method pairs in html4css.HTMLTranslator.
Always add both methods of a visit/depart pair, also if only one method is changed from the parent class. git-svn-id: https://svn.code.sf.net/p/docutils/code/trunk@8776 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils')
-rw-r--r--docutils/docutils/writers/html4css1/__init__.py40
1 files changed, 37 insertions, 3 deletions
diff --git a/docutils/docutils/writers/html4css1/__init__.py b/docutils/docutils/writers/html4css1/__init__.py
index 995873c84..f78623784 100644
--- a/docutils/docutils/writers/html4css1/__init__.py
+++ b/docutils/docutils/writers/html4css1/__init__.py
@@ -177,6 +177,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.visit_docinfo_item(node, 'address', meta=False)
self.body.append(self.starttag(node, 'pre', CLASS='address'))
+ def depart_address(self, node):
+ self.body.append('\n</pre>\n')
+ self.depart_docinfo_item()
# ersatz for first/last pseudo-classes
def visit_admonition(self, node):
@@ -184,6 +187,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.body.append(self.starttag(node, 'div'))
self.set_first_last(node)
+ def depart_admonition(self, node=None):
+ self.body.append('</div>\n')
+
# author, authors: use <br> instead of paragraphs
def visit_author(self, node):
if isinstance(node.parent, nodes.authors):
@@ -259,6 +265,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.body.append(' <span class="classifier-delimiter">:</span> ')
self.body.append(self.starttag(node, 'span', '', CLASS='classifier'))
+ def depart_classifier(self, node):
+ self.body.append('</span>')
+
# ersatz for first/last pseudo-classes
def visit_compound(self, node):
self.body.append(self.starttag(node, 'div', CLASS='compound'))
@@ -277,10 +286,16 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.body.append(self.starttag(node, 'dd', ''))
self.set_first_last(node)
+ def depart_definition(self, node):
+ self.body.append('</dd>\n')
+
# don't add "simple" class value
def visit_definition_list(self, node):
self.body.append(self.starttag(node, 'dl', CLASS='docutils'))
+ def depart_definition_list(self, node):
+ self.body.append('</dl>\n')
+
# use a table for description lists
def visit_description(self, node):
self.body.append(self.starttag(node, 'td', ''))
@@ -328,6 +343,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
def visit_doctest_block(self, node):
self.body.append(self.starttag(node, 'pre', CLASS='doctest-block'))
+ def depart_doctest_block(self, node):
+ self.body.append('\n</pre>\n')
+
# insert an NBSP into empty cells, ersatz for first/last
def visit_entry(self, node):
writers._html_base.HTMLTranslator.visit_entry(self, node)
@@ -335,6 +353,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.body.append('&nbsp;')
self.set_first_last(node)
+ def depart_entry(self, node):
+ self.body.append(self.context.pop())
+
# ersatz for first/last pseudo-classes
def visit_enumerated_list(self, node):
"""
@@ -474,7 +495,7 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.body.append('</td></tr>\n'
'</tbody>\n</table>\n')
- # insert markers in text as pseudo-classes are not supported in CSS1:
+ # insert markers in text (pseudo-classes are not supported in CSS1):
def visit_footnote_reference(self, node):
href = '#' + node['refid']
format = self.settings.footnote_references
@@ -587,6 +608,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
if len(node):
node[0]['classes'].append('first')
+ def depart_list_item(self, node):
+ self.body.append('</li>\n')
+
# use <tt> (not supported by HTML5),
# cater for limited styling options in CSS1 using hard-coded NBSPs
def visit_literal(self, node):
@@ -619,11 +643,14 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
# Content already processed:
raise nodes.SkipNode
- # add newline after opening tag, don't use <code> for code
+ def depart_literal(self, node):
+ # skipped unless literal element is from "code" role:
+ self.body.append('</code>')
+
+ # add newline after wrapper tags, don't use <code> for code
def visit_literal_block(self, node):
self.body.append(self.starttag(node, 'pre', CLASS='literal-block'))
- # add newline
def depart_literal_block(self, node):
self.body.append('\n</pre>\n')
@@ -712,6 +739,10 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
self.set_first_last(node)
self.in_sidebar = True
+ def depart_sidebar(self, node):
+ self.body.append('</div>\n')
+ self.in_sidebar = False
+
# <sub> not allowed in <pre>
def visit_subscript(self, node):
if isinstance(node.parent, nodes.literal_block):
@@ -793,6 +824,9 @@ class HTMLTranslator(writers._html_base.HTMLTranslator):
% (node['type'], node['level'],
self.encode(node['source']), line, backref_text))
+ def depart_system_message(self, node):
+ self.body.append('</div>\n')
+
# "hard coded" border setting
def visit_table(self, node):
self.context.append(self.compact_p)