{% macro render_post(post) %}
{% if post.content is iterable and post.content is not string %} {# content is [] → render blocks #} {% for block in post.content %} {% if block.type == "image" %} {% with src=url_for('content_image_files', filename=block.src) %} {% include "components/image.html" %} {% endwith %} {% elif block.type == "text" %} {{ block.value | safe }} {% endif %}{% elif block.type == "code" %} {% with value=block.src %} {% include "components/code.html" %} {% endwith %} {% elif block.type == "text" %} {{ block.value | safe }} {% endif %} {% endfor %} {% else %} {# content is """...""" → render HTML #} {{ post.content | safe }} {% endif %}
{% if post.template %} {% include post.template %} {% endif %} {% endmacro %}