From 865e429c5a3384e77ec83e5f0b7df65f5fbf44af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Lohrer?= Date: Wed, 15 Apr 2026 14:29:57 +0200 Subject: [PATCH] =?UTF-8?q?spike(spa-mini):=20tag-dedup=20+=20cover-bild-g?= =?UTF-8?q?r=C3=B6=C3=9Fe=20begrenzen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tagsAll() dedupliziert Werte (Schutz gegen Clients, die doppelte t-Tags ins Event schreiben; real beobachtet bei einem existierenden Post mit zweimal "relilab"). - Cover-Bild in der Einzelansicht auf max 480px Breite + zentriert, damit es nicht die gesamte Viewportbreite füllt. Co-Authored-By: Claude Opus 4.6 (1M context) --- preview/spa-mini/index.html | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/preview/spa-mini/index.html b/preview/spa-mini/index.html index a338aa0..adeea51 100644 --- a/preview/spa-mini/index.html +++ b/preview/spa-mini/index.html @@ -123,10 +123,18 @@ word-wrap: break-word; overflow-wrap: break-word; } - article img { + article img, + #content > p > img { max-width: 100%; height: auto; border-radius: 4px; + display: block; + margin: 0 auto; + } + /* Cover-Bild (direktes

als Sibling unter .meta) auf vernünftige Größe begrenzen */ + #content > p:has(> img) { + max-width: 480px; + margin: 1rem auto 1.5rem; } article a { color: var(--accent); @@ -250,7 +258,8 @@ } function tagsAll(event, name) { - return event.tags.filter(t => t[0] === name).map(t => t[1]); + // Dedup, falls ein Client doppelte Tags geschrieben hat + return [...new Set(event.tags.filter(t => t[0] === name).map(t => t[1]))]; } function fmtDate(unixSeconds) {