chiark / gitweb /
m.components: components for colored text blocks.
authorVladimír Vondruš <mosra@centrum.cz>
Tue, 12 Sep 2017 10:08:11 +0000 (12:08 +0200)
committerVladimír Vondruš <mosra@centrum.cz>
Thu, 14 Sep 2017 22:11:11 +0000 (00:11 +0200)
pelican-plugins/m/components.py

index 5193b9ecb4d64be755d5ba65a1ec76feda5556b9..86cc90e48cda8b84de736cce4b5214f3ea3c722f 100644 (file)
@@ -129,6 +129,42 @@ class Frame(rst.Directive):
                                 note_node)
         return [note_node]
 
+class Text(rst.Directive):
+    has_content = True
+    optional_arguments = 0
+
+    style_class = ''
+
+    def run(self):
+        text = '\n'.join(self.content)
+        note_node = nodes.topic(text)
+        note_node['classes'] += ['m-text', self.style_class]
+
+        self.state.nested_parse(self.content, self.content_offset,
+                                note_node)
+        return [note_node]
+
+class DefaultText(Text):
+    style_class = 'm-default'
+
+class PrimaryText(Text):
+    style_class = 'm-primary'
+
+class SuccessText(Text):
+    style_class = 'm-success'
+
+class WarningText(Text):
+    style_class = 'm-warning'
+
+class DangerText(Text):
+    style_class = 'm-danger'
+
+class InfoText(Text):
+    style_class = 'm-info'
+
+class DimText(Text):
+    style_class = 'm-dim'
+
 def register():
     rst.directives.register_directive('transition', Transition)
 
@@ -150,3 +186,11 @@ def register():
     rst.directives.register_directive('block-flat', FlatBlock)
 
     rst.directives.register_directive('frame', Frame)
+
+    rst.directives.register_directive('text-default', DefaultText)
+    rst.directives.register_directive('text-primary', PrimaryText)
+    rst.directives.register_directive('text-success', SuccessText)
+    rst.directives.register_directive('text-warning', WarningText)
+    rst.directives.register_directive('text-danger', DangerText)
+    rst.directives.register_directive('text-info', InfoText)
+    rst.directives.register_directive('text-dim', DimText)