From: William JCM Date: Tue, 13 Apr 2021 13:36:30 +0000 (+0200) Subject: m.htmlsanity: change transitions into Docutils transition nodes. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=commitdiff_plain;h=3f7b8501c98bfead4047f397a527e096ac75e26a;p=blog.git m.htmlsanity: change transitions into Docutils transition nodes. --- diff --git a/plugins/m/components.py b/plugins/m/components.py index 07d522d3..579d8c8c 100644 --- a/plugins/m/components.py +++ b/plugins/m/components.py @@ -35,7 +35,7 @@ class Transition(rst.Directive): def run(self): text = ' '.join(self.arguments) title_nodes, _ = self.state.inline_text(text, self.lineno) - transition_node = nodes.paragraph('', '', *title_nodes) + transition_node = nodes.transition('', *title_nodes) transition_node['classes'] += ['m-transition'] return [transition_node] diff --git a/plugins/m/htmlsanity.py b/plugins/m/htmlsanity.py index 7c77adf2..9fbc6b3e 100644 --- a/plugins/m/htmlsanity.py +++ b/plugins/m/htmlsanity.py @@ -635,10 +635,14 @@ class SaneHtmlTranslator(HTMLTranslator): # no class="docutils" in
def visit_transition(self, node): - self.body.append(self.emptytag(node, 'hr')) + if len(node.children) > 0: + self.body.append(self.starttag(node, 'p', '')) + else: + self.body.append(self.emptytag(node, 'hr')) def depart_transition(self, node): - pass + if 'm-transition' in node['classes']: + self.body.append('

\n') class _SaneFieldBodyTranslator(SaneHtmlTranslator): """