30 lines
891 B
Python
30 lines
891 B
Python
from flask_logic.registry import register_component
|
|
|
|
|
|
@register_component("image", css="css/components/image.css")
|
|
def render_image_component(src, caption=None, css_class=None, context=None):
|
|
if context:
|
|
context["used_components"].add("image")
|
|
|
|
base_class = "image-container"
|
|
full_class = f"{base_class} {css_class}" if css_class else base_class
|
|
|
|
caption_html = f'<div class="caption">{caption}</div>' if caption else ""
|
|
|
|
return f"""
|
|
<div class="{full_class}">
|
|
<img src="/content/image/{src}" alt="{caption or ''}">
|
|
{caption_html}
|
|
</div>
|
|
"""
|
|
|
|
@register_component("code", css="css/components/code.css")
|
|
def render_code_block(value=None, code=None, context=None):
|
|
if context:
|
|
context["used_components"].add("code")
|
|
|
|
code = code or value or ""
|
|
|
|
return f"""
|
|
<pre class="code-block"><code>{code}</code></pre>
|
|
""" |