From 83eeef6c7c6c27acc21d3ddc67632fbe2a4a37b1 Mon Sep 17 00:00:00 2001 From: "Prof. Dr. Matthias Jung DL9MJ" Date: Sun, 1 Jun 2025 14:58:06 +0200 Subject: [PATCH] feature: support qso in slides --- renderer/fifty_ohm_html_slide_renderer.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renderer/fifty_ohm_html_slide_renderer.py b/renderer/fifty_ohm_html_slide_renderer.py index 54aeb4e..1c9e98e 100644 --- a/renderer/fifty_ohm_html_slide_renderer.py +++ b/renderer/fifty_ohm_html_slide_renderer.py @@ -1,7 +1,9 @@ +from jinja2 import Environment, FileSystemLoader from mistletoe import Document from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer +from .qso import Qso from .slide_break import SlideBreak @@ -10,10 +12,12 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer): def __init__(self, question_renderer=None, picture_handler=None, photo_handler=None): super().__init__( SlideBreak, + Qso, question_renderer=question_renderer, picture_handler=picture_handler, photo_handler=photo_handler, ) + self.env = Environment(loader=FileSystemLoader("templates/slide")) def render_wrapper(self, content): content = "---\n" + content @@ -33,3 +37,11 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer): else: return f'
\n{inner}\n
\n' + def render_qso(self, token): + qso = "" + for child in token.children: + direction = "other" if child.received else "own" + fade = "fragment fade-left" if child.received else "fragment fade-right" + qso += f'
{self.render_inner(child)}
\n' + return qso +