chiark / gitweb /
m.htmlsanity: change transitions into Docutils transition nodes.
authorWilliam JCM <w.jcm59@gmail.com>
Tue, 13 Apr 2021 13:36:30 +0000 (15:36 +0200)
committerVladimír Vondruš <mosra@centrum.cz>
Tue, 4 Jan 2022 13:08:26 +0000 (14:08 +0100)
plugins/m/components.py
plugins/m/htmlsanity.py

index 07d522d3a730b637521012a74fa60e6ccb470c9e..579d8c8c0c77427a55731d40d49f41945fbb0316 100644 (file)
@@ -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]
 
index 7c77adf2c94d8e6833b97bd78fbd8330dc971243..9fbc6b3eea4972a3d2106ec58213794539169c6d 100644 (file)
@@ -635,10 +635,14 @@ class SaneHtmlTranslator(HTMLTranslator):
 
     # no class="docutils" in <hr>
     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('</p>\n')
 
 class _SaneFieldBodyTranslator(SaneHtmlTranslator):
     """