Struktura projektu
.├── public/│ └── favicon.svg├── seed/│ └── seed.json # Schémata kolekcí Kafe-CMS + počáteční obsah├── data/ # SQLite db + lokální nahrané soubory (gitignored; svazek v produkci)├── src/│ ├── components/ # Znovupoužitelné Astro komponenty (Hero, CTA, FAQ…)│ ├── content/ # Souborové kolekce (docs, services, stack, settings)│ ├── i18n/ # Nástroje pro internacionalizaci (routy, přepínač, UI)│ ├── layouts/ # Základní layout se SEO, analytikou, navigací│ ├── lib/ # Sdílené knihovny (cms adaptér, analytika, SEO, konfigurace webu)│ ├── pages/ # Astro stránky s locale routingem (+ llms.txt, robots.txt, rss)│ ├── styles/ # Globální CSS a Tailwind vrstvy│ ├── content.config.ts # Schémata souborových kolekcí obsahu│ └── live.config.ts # Registrace live kolekcí Kafe-CMS├── .github/workflows/ # CI/CD workflowy├── astro.config.ts # Konfigurace Astro + Kafe-CMS + Node adaptér + Starlight├── Dockerfile # Samostatný Node server image pro Dokploy└── package.jsonKlíčové vzory
Section titled “Klíčové vzory”- CMS obsah: blog a stránky žijí v Kafe-CMS (SQLite), čtou se v době požadavku přes
src/lib/cms.tsa vykreslují pomocí<PortableText>. - Locale routing: routy výchozího jazyka žijí v kořeni; při zavádění dalších jazyků přidejte routy
src/pages/[locale]/. - Souborové kolekce: Markdown v
src/content/(docs, services, stack) s frontmatter polemlocale. - Starlight docs layout: dokumentační web je kolekce
docsukotvená vsrc/content/docs/(pevný Starlight adresář). Stránky sedí o úroveň hlouběji, vsrc/content/docs/docs/**, takže se servírují pod/docs/...a nikoli v kořeni webu/, který patří marketingové domovské stránce. Tato vnořenádocs/docsje záměrná — jméno vnitřní složky je URL prefix/docsa nelze ho zploštit bez kolize s domovskou stránkou. - Server output: web je server-rendered přes Astro Node adaptér a nasazuje se jako Docker kontejner.