Přeskočit na obsah

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.json
  • CMS obsah: blog a stránky žijí v Kafe-CMS (SQLite), čtou se v době požadavku přes src/lib/cms.ts a 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 polem locale.
  • Starlight docs layout: dokumentační web je kolekce docs ukotvená v src/content/docs/ (pevný Starlight adresář). Stránky sedí o úroveň hlouběji, v src/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/docs je záměrná — jméno vnitřní složky je URL prefix /docs a 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.