feat(calendar): markdown descriptions, grid & header polish
Deploy / verify (push) Successful in 49s
Deploy / deploy (push) Successful in 50s

- description field rendered as Markdown (marked.parse + prose)
- month label left/larger, nav arrows grouped right
- weekday headers colored (himmel/stein)
- day cells weekend/weekday coloring
- remove pl-[4.75rem] indent from accordion body

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-05-12 20:53:51 +02:00
parent 7ea23531e9
commit 10fb2a3ef6
@@ -12,6 +12,7 @@
type CalendarItemICS,
} from "$lib/calendar-ics";
import { getCmsImageUrl, extractCmsImageField } from "$lib/rusty-image";
import { marked } from "$lib/markdown-safe";
import "$lib/iconify-offline";
import Icon from "@iconify/svelte";
import ImageModal from "$lib/components/ImageModal.svelte";
@@ -686,7 +687,7 @@
/>
</summary>
<div
class="px-3 pb-3 pt-0 pl-[4.75rem] text-sm text-stein-700 space-y-2"
class="px-3 pb-3 pt-0 text-sm text-stein-700 space-y-2"
>
<div
class="text-[11px] uppercase tracking-wide text-stein-500 -mt-1"
@@ -694,11 +695,9 @@
{relativeDays(item.start)}
</div>
{#if item.description}
<p
class="font-light text-stein-700 m-0! leading-relaxed"
>
{item.description}
</p>
<div class="prose prose-sm prose-stein max-w-none font-light leading-relaxed mt-0 mb-2">
{@html marked.parse(item.description)}
</div>
{/if}
{#if item.tags && item.tags.length > 2}
<div class="flex flex-wrap gap-1">