Browser-PDF-Reader (Chrome, Firefox) ignorieren das von /OpenAction-Eintrag im
PDF-Catalog (#88f9c7d) komplett. Der zuverlaessige Weg: URL-Hash-Anker '#page=N'.
Drei Stellen angepasst:
- redline_utils.build_pdf_href: haengt #page={seite} an die URL
- embeddings._build_zitat_url (rebind): analog
- v2/components/quote_card.html: bei alten DB-Eintraegen ohne Hash wird er
on-the-fly aus dem 'seite='-Query-Param erzeugt
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
37 lines
1.8 KiB
HTML
37 lines
1.8 KiB
HTML
{#
|
|
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="") %}
|
|
<div class="v2-quote {% if contra %}contra{% endif %}">
|
|
<div class="q-body">„{{ text }}"</div>
|
|
<cite>
|
|
{% if verified %}
|
|
<span class="verified">{% if contra %}✗{% else %}✓{% endif %} {% if contra %}Programm-Widerspruch{% else %}verifiziert{% endif %}</span>
|
|
{% 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'))) %}
|
|
· <a href="{{ _href }}" target="_blank" rel="noopener" style="color:var(--ecg-blue);border-bottom:1px solid rgba(0,157,165,0.35);">PDF öffnen</a>
|
|
{% endif %}
|
|
</cite>
|
|
</div>
|
|
{% endmacro %}
|