feature: tags for slides
This commit is contained in:
@@ -5,6 +5,7 @@ from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
||||
|
||||
from .qso import Qso
|
||||
from .slide_break import SlideBreak
|
||||
from .tag import Tag
|
||||
|
||||
|
||||
class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer):
|
||||
@@ -13,6 +14,7 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer):
|
||||
super().__init__(
|
||||
SlideBreak,
|
||||
Qso,
|
||||
Tag,
|
||||
question_renderer=question_renderer,
|
||||
picture_handler=picture_handler,
|
||||
photo_handler=photo_handler,
|
||||
@@ -38,10 +40,26 @@ class FiftyOhmHtmlSlideRenderer(FiftyOhmHtmlRenderer):
|
||||
return f'<section {token.attribute}>\n{inner}\n</section>\n'
|
||||
|
||||
def render_qso(self, token):
|
||||
qso = ""
|
||||
qso = '<div class="qso r-fit-text">\n'
|
||||
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'<div class="qso_{direction} {fade}">{self.render_inner(child)}</div>\n'
|
||||
qso += '</div>\n'
|
||||
return qso
|
||||
|
||||
def render_note(self, token):
|
||||
return f'<aside class="notes">\n{self.render_inner(token)}\n</aside>\n'
|
||||
|
||||
def render_tag(self, token):
|
||||
if token.tagtype == "fragment":
|
||||
return f'<div class="fragment">\n{self.render_inner(token)}\n</div>\n'
|
||||
if token.tagtype == "left":
|
||||
return f'<div id="left">\n{self.render_inner(token)}\n</div>\n'
|
||||
if token.tagtype == "right":
|
||||
return f'<div id="right">\n{self.render_inner(token)}\n</div>\n'
|
||||
elif token.tagtype == "note":
|
||||
return f'<aside class="notes">\n{self.render_inner(token)}\n</aside>\n'
|
||||
else:
|
||||
return "" # Ignore other tags in slide context
|
||||
|
||||
|
||||
Reference in New Issue
Block a user