From fa33db17ba33b68485e8f960e65565db8aba2e7f Mon Sep 17 00:00:00 2001 From: Chris Fiege <chris@tinyhost.de> Date: Sun, 22 Mar 2020 22:19:39 +0100 Subject: [PATCH] Use custom rst directive for infobox Signed-off-by: Chris Fiege <chris@tinyhost.de> --- flamingo/content/jitsi.rst | 15 ++++++--------- flamingo/plugins/rst_ffbs_box.py | 20 ++++++++++++++++++++ flamingo/settings.py | 1 + 3 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 flamingo/plugins/rst_ffbs_box.py diff --git a/flamingo/content/jitsi.rst b/flamingo/content/jitsi.rst index 48d4e5c..1a29435 100644 --- a/flamingo/content/jitsi.rst +++ b/flamingo/content/jitsi.rst @@ -12,21 +12,18 @@ Natürlich sind wir weiterhin auf unserer und auch im `IRC </irc.html>`__ zu erreichen. -.. raw:: html +.. ffbsbox:: - <div style="float:right; clear:right; width:20%; border-top:1px solid; border-bottom:1px solid; margin-left:2em; margin-top:1.5em; margin-bottom:1.5em;"> - <p> - <strong>Kurzlinks:</strong><br /> - <a href="https://treffen.freifunk-bs.de/FreifunkBS">Videokonferenz im Browser</a><br /> - <a href="https://play.google.com/store/apps/details?id=org.jitsi.meet">App für Android</a><br /> - <a href="https://apps.apple.com/de/app/jitsi-meet/id1165103905">App für iOS</a><br /> - </p> - </div> + | **Kurzlinks**: + | `Videokonferenz im Browser <https://treffen.freifunk-bs.de/FreifunkBS>`__ + | `App für Android <https://play.google.com/store/apps/details?id=org.jitsi.meet>`__ + | `App für iOS <https://apps.apple.com/de/app/jitsi-meet/id1165103905>`__ Anstelle unserer Treffen vor Ort treffen wir uns nun Mittwochs ab 19:00 Uhr in einer Online Konferenz. Hier erhälst du weitere Informationen, wie du unserer Konferenz beitreten kannst. + Jitsi im Browser ---------------- diff --git a/flamingo/plugins/rst_ffbs_box.py b/flamingo/plugins/rst_ffbs_box.py new file mode 100644 index 0000000..1dc38e9 --- /dev/null +++ b/flamingo/plugins/rst_ffbs_box.py @@ -0,0 +1,20 @@ +from docutils.parsers.rst import directives +from docutils.nodes import raw + +from flamingo.plugins.rst.base import NestedDirective + +def ffbsbox(context): + class Div(NestedDirective): + def run(self): + html = self.parse_content(context) + + return [ + raw('', '<div style="float:right; clear:right; width:20%; border-top:1px solid; border-bottom:1px solid; margin-left:2em; margin-top:1.5em; margin-bottom:1.5em;">{}</div>'.format(html), format='html'), + ] + + return Div + + +class rstFfbsBox: + def parser_setup(self, context): + directives.register_directive('ffbsbox', ffbsbox(context)) diff --git a/flamingo/settings.py b/flamingo/settings.py index 8874164..ec3e736 100644 --- a/flamingo/settings.py +++ b/flamingo/settings.py @@ -8,6 +8,7 @@ PLUGINS = [ 'plugins/title.py::Title', 'plugins/git.py::Git', 'plugins/raw.py::Raw', + 'plugins/rst_ffbs_box.py::rstFfbsBox', ] # remove flamingo core HTML plugin. -- GitLab