Kanban board tasků — filtr dle priority, labelu nebo runu.
src/lib/db.ts helper + přepsány galerie/index.astro a [...slug].astro na SSR+D1
Build + typecheck + astro check 0 errors
Album má 30 obrázků — všechny staženy v run 007
30 obrázků nahráno do R2 v run 007
src/pages/api/images/[...key].ts — R2 get + cache headers
GitHub Actions workflow .github/workflows/deploy.yml — pnpm install, build, cloudflare/wrangler-action@v3. Trigger: push to master.
pnpm typecheck (0 errors), pnpm check / astro check (0 errors, 0 warnings), pnpm build (success).
PLAN.md: run 006 [x], sprint 002 hotovo. PROJECT.md: milestone Produkce dokončen.
public/og-image.svg — 1200×630 SVG placeholder. site.ts aktualizován.
link rel=sitemap href=/sitemap-index.xml přidán do Seo.astro head.
Site URL opraven na escher.kafe.studio v astro.config.mjs. RSS link odstraněn z Seo.astro.
Schema.astro přepsán — BlogPosting nahrazen ImageGallery + VisualArtwork typy.
VisualArtwork schema na [...slug].astro via slot=head. ImageGallery na galerie/index.astro.
Amber/gold oklch accent, teplé neutrály, prose variables pro tmavé téma. global.css
Astro.url.pathname + isActive(), aria-current=page, hover na logo. Navbar.astro
Rounded-xl border + bg-card, gradient overlay, shadow-lg hover. galerie/index.astro
SVG šipka zpět, border na obrázku, separátory v metadatech. [...slug].astro
src/lib/categories.ts — categoryLabels Record + categories array s Vše. Import v obou stránkách.
Client-side filtr v index.astro — tlačítka kategorií, toggle hidden, no-results message
src/pages/galerie/[...slug].astro — getStaticPaths, render(), dl/dd metadata, back link
src/pages/galerie/index.astro — responzivní grid 1/2/3 sloupce, řazení od nejnovějších
Schema v src/content.config.ts — z.enum pro technique (6) a category (5), glob loader, zod validace
Kategorie jako enum v schema — technique + category enums
8 děl v src/content/artworks/*.md + SVG placeholdery v public/images/artworks/
src/config/site.ts — Galerie Escher, navLinks na /galerie/
astro check — 0 errors, 0 warnings