{# quote_card.html — Zitat-Karte mit Verifikations-Siegel Props: text : str — Zitattext (wird kursiv gesetzt) source : str — Quellenangabe (z.B. "Wahlprogramm 2026 · S. 84") verified : bool — Zeigt ✓ verifiziert-Siegel (default True) contra : bool — Widerspruch-Variante (rote Border, default False) pdf_href : str — Optionaler Link zu PDF-Viewer mit Seiten-Anker Farbcodierung: contra=False: border-left var(--ecg-blue), Siegel Grün contra=True: border-left var(--redline-contra), Siegel Rot Verwendung: {% from "v2/components/quote_card.html" import quote_card %} {{ quote_card("Wir verpflichten...", "Wahlprogramm 2026 · S. 84") }} {{ quote_card("Konkurrenz abzulehnen...", "Grundsatzprogramm · S. 42", contra=True) }} #} {% macro quote_card(text, source="", verified=True, contra=False, pdf_href="") %}
„{{ text }}"
{% if verified %} {% if contra %}✗{% else %}✓{% endif %} {% if contra %}Programm-Widerspruch{% else %}verifiziert{% endif %} {% endif %} {{ source }} {% if pdf_href %} {# Falls pdf_href noch keinen #page=…-Anker hat, aus seite= im Query-String einen anhaengen — Browser-PDF-Viewer ignorieren PDF-OpenAction, der Hash-Anker funktioniert zuverlaessig. #} {% set _href = pdf_href if '#page=' in pdf_href else (pdf_href ~ ('#page=' ~ (pdf_href.split('seite=')[1].split('&')[0] if 'seite=' in pdf_href else '1'))) %} · PDF öffnen {% endif %}
{% endmacro %}