Add post and event cards, shared calendar sheet and per-event ICS; rework past events and next-event card

This commit is contained in:
tleininger committed 2026-10-01 15:32:01 +02:00
1 parent d328adac5c
commit b2dc033de1
33 files changed
+1150 -206

No files matched your search

+22 -2
View File
@@ -178,6 +178,11 @@ der Startseite als Vorschau angeteasert.
- `slug` ist englisch, klein, ohne Umlaute (z. B. `new-sports-hall-opened`) —
dieselbe erzwungene Feldregel wie bei Seiten (siehe *Seiten → Slug-Regel wird
erzwungen*).
- **Vorschautext auf der Karte:** Die Karte zeigt die ersten rund 160 Zeichen
des `body` als reinen Text (Überschriften und Formatierung fallen weg, gekürzt
am Wortende mit „…“). Ein eigenes Feld dafür gibt es nicht — beginne den Text
deshalb am besten mit einem Satz, der sagt, worum es geht. Auf `/posts`
erscheint der neueste Beitrag als große Karte über die volle Breite.
---
@@ -188,8 +193,23 @@ mehrtägige), `title`, `location` (optional), `note` (optional) und `public`.
Kein Slug.
Die Übersicht `/events` trennt automatisch in kommende und vergangene Termine;
die Reihenfolge der Records spielt keine Rolle. Besucher können `/events.ics` in
ihrer Kalender-App abonnieren — der Feed entsteht aus denselben Records.
die Reihenfolge der Records spielt keine Rolle. Vergangene Termine stehen
zugeklappt unter „Vergangene Termine anzeigen“. Besucher können `/events.ics` in
ihrer Kalender-App abonnieren (Knopf „Kalender abonnieren“) — der Feed entsteht
aus denselben Records. Jeder kommende Termin hat außerdem einen Link „In Kalender
übernehmen“, der nur diesen einen Termin als Kalenderdatei liefert.
So erscheint ein Termin auf seiner Karte:
- Links ein **Kalenderblatt** mit Monat, Tag und Wochentag des `start`.
- Daneben die **Uhrzeit**: nur der Beginn, mit `end` am selben Tag die Spanne
(`19:30–21:00 Uhr`), bei mehrtägigen Terminen „bis …“ mit dem letzten Tag. Ein
ganztägiger Termin (Uhrzeit `00:00`) ohne `end` zeigt keine Uhrzeit.
- Darunter `location` und `note`. Auf der Startseite wird `note` nach zwei
Zeilen abgeschnitten, auf `/events` steht sie ganz.
Einen Einleitungstext über der Liste schreibst du in den `body` der Seite mit
dem Slug `events` (unter `pages`); die Website fügt keinen eigenen hinzu.
> **Trage einfach die Ortszeit ein.** Gib die Uhrzeit ein, die auf der Seite
> stehen soll (Europe/Berlin) — z. B. `08:00`. PocketBase speichert intern in UTC