[
{
"id": "home-de",
"_id": "home-de",
"active": true,
"type": "page",
"lang": "de",
"translationKey": "home",
"name": "Startseite",
"path": "/",
"blocks": [
{
"type": "hero",
"headline": "Moderne Webprojekte. Blitzschnell umgesetzt.",
"headlineH1": true,
"subline": "Tibi CMS Starter — Svelte 5, Tailwind CSS 4, SSR und eine API, die einfach funktioniert.",
"containerWidth": "full",
"callToAction": {
"buttonText": "Features entdecken",
"buttonLink": "#features",
"buttonTarget": ""
},
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1920&q=80"
}
},
{
"type": "features",
"headline": "Was dieses Template kann",
"tagline": "Features",
"anchorId": "features",
"padding": {
"top": "lg",
"bottom": "lg"
},
"text": "
Svelte 5 Runes
Reaktives UI mit $state, $derived und $effect — kein Boilerplate, maximale Performance.
Tailwind CSS 4
Utility-first Styling mit Custom-Theme, Dark-Mode-ready und blitzschnellen Builds.
Tibi CMS API
Collections, Hooks, Medialib — alles über eine REST-API. Mit Mock-Modus für offline-Entwicklung.
i18n Built-in
Mehrsprachigkeit aus der Box: URL-basierte Sprachauswahl, Lazy-Loaded Locales, SSR-kompatibel.
SSR via goja
Server-Side Rendering in Go — schnelle Erstauslieferung, SEO-freundlich, mit Cache-Invalidierung.
Playwright Tests
E2E, API, Visual Regression und Video-Tours — alles vorkonfiguriert und ready to go.
"
},
{
"type": "richtext",
"headline": "So funktioniert's",
"tagline": "Workflow",
"anchorId": "workflow",
"padding": {
"top": "lg",
"bottom": "sm"
},
"externalImageUrl": "https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=800&q=80",
"imagePosition": "right",
"text": "Starte die Entwicklungsumgebung mit make docker-up && make docker-start. Der esbuild-Watcher kompiliert Änderungen in Echtzeit, BrowserSync lädt den Browser automatisch neu.
Für Offline-Entwicklung aktiviere den Mock-Modus mit MOCK=1 in der .env. Content wird über die Tibi-API geladen und mit dem BlockRenderer dargestellt.
Jeder Block-Typ (Hero, Richtext, Accordion, Features) ist eine eigene Svelte-Komponente — erweiterbar und austauschbar.
"
},
{
"type": "accordion",
"headline": "Häufige Fragen",
"tagline": "FAQ",
"anchorId": "faq",
"padding": {
"top": "sm",
"bottom": "lg"
},
"accordionItems": [
{
"question": "Wie starte ich ein neues Projekt mit diesem Template?",
"answer": "Klone das Repository, passe .env an und starte mit make docker-up && make docker-start. Die Demo-Inhalte kannst du einfach durch echte Inhalte ersetzen.
",
"open": true
},
{
"question": "Brauche ich einen laufenden Tibi-Server für die Entwicklung?",
"answer": "Nein! Mit MOCK=1 in der .env werden API-Aufrufe gegen lokale JSON-Dateien aufgelöst. So kannst du Frontend-Features ohne Backend entwickeln.
"
},
{
"question": "Wie füge ich eine neue Seite hinzu?",
"answer": "Erstelle einen neuen Content-Eintrag in der Collection (oder in mocking/content.json für Mock-Modus) mit dem gewünschten Pfad und Blöcken. Die App rendert ihn automatisch über den BlockRenderer.
"
},
{
"question": "Kann ich eigene Block-Typen erstellen?",
"answer": "Ja! Erstelle eine neue Svelte-Komponente und registriere den Typ im BlockRenderer. Das Type-Interface ContentBlockEntry in global.d.ts kannst du entsprechend erweitern.
"
}
]
}
],
"meta": {
"title": "Tibi Svelte Starter — Modernes CMS-Template",
"description": "Svelte 5, Tailwind CSS 4, SSR, i18n und Playwright-Tests — das perfekte Starterkit.",
"keywords": "svelte, tibi, cms, starter, template"
}
},
{
"id": "home-en",
"_id": "home-en",
"active": true,
"type": "page",
"lang": "en",
"translationKey": "home",
"name": "Home",
"path": "/",
"blocks": [
{
"type": "hero",
"headline": "Modern web projects. Lightning fast.",
"headlineH1": true,
"subline": "Tibi CMS Starter — Svelte 5, Tailwind CSS 4, SSR and an API that just works.",
"containerWidth": "full",
"callToAction": {
"buttonText": "Explore features",
"buttonLink": "#features",
"buttonTarget": ""
},
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1920&q=80"
}
},
{
"type": "features",
"headline": "What this template offers",
"tagline": "Features",
"anchorId": "features",
"padding": {
"top": "lg",
"bottom": "lg"
},
"text": "Svelte 5 Runes
Reactive UI with $state, $derived and $effect — no boilerplate, maximum performance.
Tailwind CSS 4
Utility-first styling with custom theme, dark-mode-ready and blazing fast builds.
Tibi CMS API
Collections, hooks, media library — all via REST API. With mock mode for offline development.
Built-in i18n
Multi-language out of the box: URL-based language selection, lazy-loaded locales, SSR-compatible.
SSR via goja
Server-side rendering in Go — fast initial delivery, SEO-friendly, with cache invalidation.
Playwright Tests
E2E, API, visual regression and video tours — all preconfigured and ready to go.
"
},
{
"type": "richtext",
"headline": "How it works",
"tagline": "Workflow",
"anchorId": "workflow",
"padding": {
"top": "lg",
"bottom": "sm"
},
"externalImageUrl": "https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=800&q=80",
"imagePosition": "right",
"text": "Start the dev environment with make docker-up && make docker-start. The esbuild watcher compiles changes in real-time, BrowserSync auto-reloads the browser.
For offline development, enable mock mode with MOCK=1 in .env. Content is loaded via the Tibi API and rendered with the BlockRenderer.
Each block type (Hero, Richtext, Accordion, Features) is its own Svelte component — extensible and swappable.
"
},
{
"type": "accordion",
"headline": "Frequently Asked Questions",
"tagline": "FAQ",
"anchorId": "faq",
"padding": {
"top": "sm",
"bottom": "lg"
},
"accordionItems": [
{
"question": "How do I start a new project with this template?",
"answer": "Clone the repository, adjust .env and start with make docker-up && make docker-start. Simply replace the demo content with your real content.
",
"open": true
},
{
"question": "Do I need a running Tibi server for development?",
"answer": "No! With MOCK=1 in .env, API calls are resolved against local JSON files. This lets you develop frontend features without a backend.
"
},
{
"question": "How do I add a new page?",
"answer": "Create a new content entry in the collection (or in mocking/content.json for mock mode) with the desired path and blocks. The app renders it automatically via the BlockRenderer.
"
},
{
"question": "Can I create custom block types?",
"answer": "Yes! Create a new Svelte component and register the type in BlockRenderer. You can extend the ContentBlockEntry type interface in global.d.ts accordingly.
"
}
]
}
],
"meta": {
"title": "Tibi Svelte Starter — Modern CMS Template",
"description": "Svelte 5, Tailwind CSS 4, SSR, i18n and Playwright tests — the perfect starter kit.",
"keywords": "svelte, tibi, cms, starter, template"
}
},
{
"id": "about-de",
"_id": "about-de",
"active": true,
"type": "page",
"lang": "de",
"translationKey": "about",
"name": "Über das Template",
"path": "/ueber-uns",
"blocks": [
{
"type": "hero",
"headline": "Über das Template",
"headlineH1": true,
"subline": "Gebaut für Teams, die schnell professionelle Webprojekte umsetzen wollen.",
"containerWidth": "full",
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1920&q=80"
}
},
{
"type": "richtext",
"headline": "Warum dieses Template?",
"padding": {
"top": "lg",
"bottom": "md"
},
"text": "Das Tibi Svelte Starter vereint bewährte Patterns aus dutzenden Projekten in einem sofort einsetzbaren Fundament:
- API-Layer mit Request-Deduplication, Loading-States und Caching
- Widget-Bibliothek mit Button, Input, Select, Carousel, Pagination und mehr
- Block-Rendering für CMS-gesteuerte Seiten mit beliebig erweiterbaren Typen
- Testing-Setup mit Playwright für E2E, API und visuelle Regressionstests
"
},
{
"type": "richtext",
"headline": "Technologie-Stack",
"padding": {
"top": "md",
"bottom": "lg"
},
"externalImageUrl": "https://images.unsplash.com/photo-1461749280684-dccba630e2f6?w=800&q=80",
"imagePosition": "left",
"text": "Jede Komponente wurde sorgfältig ausgewählt:
- Svelte 5 — Reaktives Framework mit Runes-API
- Tailwind CSS 4 — Utility-first CSS mit @theme
- esbuild — Extrem schneller Bundler
- Tibi CMS — Headless CMS mit Go-Backend
- goja SSR — Server-Side Rendering in Go
- Playwright — Modernes Testing-Framework
"
}
],
"meta": {
"title": "Über das Template — Tibi Svelte Starter",
"description": "Architektur und Tech-Stack des Tibi Svelte Starter Templates.",
"keywords": "svelte, über uns, template, architektur"
}
},
{
"id": "about-en",
"_id": "about-en",
"active": true,
"type": "page",
"lang": "en",
"translationKey": "about",
"name": "About the Template",
"path": "/about",
"blocks": [
{
"type": "hero",
"headline": "About the Template",
"headlineH1": true,
"subline": "Built for teams who want to ship professional web projects fast.",
"containerWidth": "full",
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1920&q=80"
}
},
{
"type": "richtext",
"headline": "Why this template?",
"padding": {
"top": "lg",
"bottom": "md"
},
"text": "The Tibi Svelte Starter combines proven patterns from dozens of projects into an immediately usable foundation:
- API layer with request deduplication, loading states and caching
- Widget library with Button, Input, Select, Carousel, Pagination and more
- Block rendering for CMS-driven pages with extensible types
- Testing setup with Playwright for E2E, API and visual regression tests
"
},
{
"type": "richtext",
"headline": "Technology Stack",
"padding": {
"top": "md",
"bottom": "lg"
},
"externalImageUrl": "https://images.unsplash.com/photo-1461749280684-dccba630e2f6?w=800&q=80",
"imagePosition": "left",
"text": "Every component was carefully chosen:
- Svelte 5 — Reactive framework with Runes API
- Tailwind CSS 4 — Utility-first CSS with @theme
- esbuild — Extremely fast bundler
- Tibi CMS — Headless CMS with Go backend
- goja SSR — Server-side rendering in Go
- Playwright — Modern testing framework
"
}
],
"meta": {
"title": "About the Template — Tibi Svelte Starter",
"description": "Architecture and tech stack of the Tibi Svelte Starter Template.",
"keywords": "svelte, about, template, architecture"
}
},
{
"id": "contact-de",
"_id": "contact-de",
"active": true,
"type": "page",
"lang": "de",
"translationKey": "contact",
"name": "Kontakt",
"path": "/kontakt",
"blocks": [
{
"type": "hero",
"headline": "Kontakt",
"headlineH1": true,
"subline": "Fragen, Feedback oder Projektanfragen? Schreib uns!",
"containerWidth": "full",
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1423666639041-f56000c27a9a?w=1920&q=80"
}
},
{
"type": "contact-form",
"headline": "Nachricht senden",
"padding": {
"top": "lg",
"bottom": "lg"
}
}
],
"meta": {
"title": "Kontakt — Tibi Svelte Starter",
"description": "Nimm Kontakt mit uns auf.",
"keywords": "kontakt, anfrage"
}
},
{
"id": "contact-en",
"_id": "contact-en",
"active": true,
"type": "page",
"lang": "en",
"translationKey": "contact",
"name": "Contact",
"path": "/contact",
"blocks": [
{
"type": "hero",
"headline": "Contact",
"headlineH1": true,
"subline": "Questions, feedback or project inquiries? Get in touch!",
"containerWidth": "full",
"heroImage": {
"externalUrl": "https://images.unsplash.com/photo-1423666639041-f56000c27a9a?w=1920&q=80"
}
},
{
"type": "contact-form",
"headline": "Send a message",
"padding": {
"top": "lg",
"bottom": "lg"
}
}
],
"meta": {
"title": "Contact — Tibi Svelte Starter",
"description": "Get in touch with us.",
"keywords": "contact, inquiry"
}
}
]