sipa/templates/macros/article.html

Summary

Maintainability
Test Coverage
{% macro border_style(article) -%}
    {% if article.outage %}
        border-danger-subtle
    {% elif article.information %}
        border-warning-subtle
    {% elif article.event %}
        border-success-subtle
    {% endif %}
{%- endmacro %}

{%- macro render_edit_link(art) -%}
<a href="{{ url_for('news.edit', filename=art.file_basename) }}" class="visually-hidden-focusable" accesskey="e">Edit</a>
{%- endmacro -%}

{% macro render_news(art) %}
    <article class="mb-4">
        <h2>{{ art.title }}</h2>
        <div class="hstack mb-2 gap-3">
            {% if art.outage or art.information or art.event %}
                <div>
                    {%- for out in art.outage %}
                        <span class="badge bg-danger-subtle text-danger-emphasis">{{ out }}</span>
                    {%- endfor %}
                    {%- for info in art.information %}
                        <span
                            class="badge bg-warning-subtle text-warning-emphasis">{{ info }}</span>
                    {%- endfor %}
                    {%- for ev in art.event %}
                        <span class="badge bg-success-subtle text-success-emphasis">{{ ev }}</span>
                    {%- endfor %}
                </div>
            {% endif %}
            <div>
                {% if art.author -%}
                    <small
                        class="text-secondary">{{ _("Geschrieben von") }} {{ art.author }}, {{ art.date }}.</small>
                {%- elif art.date -%}
                    <small class="text-secondary">{{ _("Vom") }} {{ art.date }}.</small>
                {%- endif %}

                <a href="{{ url_for('news.show_news', filename=art.file_basename) }}"
                   class="link-underline link-underline-opacity-0 link-underline-opacity-75-hover">
                    <small>
                        Permalink&nbsp;<span class="bi-link-45deg"></span>
                    </small>
                </a>
            </div>
        </div>
        <div class="ps-3 border-3 border-start {{ border_style(art) }}">{{ art.html|safe }}</div>
    </article>
{% endmacro %}

{% macro render_page(art) %}
    {# Completely ignore the metadata such as categories or authors. This is not used for pages. #}
    <article class="mb-4">
        <h2>{{ art.title }}</h2>
        {% if art.author -%}
        <div class="hstack mb-2 gap-3">
            <div>
                <small class="text-secondary">{{ _("Geschrieben von") }} {{ art.author }}, {{ art.date }}.</small>
            </div>
        </div>
        {%- endif %}
        <div>{{ art.html|safe }}</div>
    </article>
{% endmacro %}