RustyCMS: file-based headless CMS — API, Admin UI (content, types, assets), Docker/Caddy, image transform; only demo type and demo content in version control
Made-with: Cursor
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
{
|
||||
title: "Mein erster Post",
|
||||
body: "Hallo Welt! Das ist **RustyCMS** – ein file-basiertes Headless CMS geschrieben in Rust.",
|
||||
excerpt: "Ein Einstieg in RustyCMS",
|
||||
author: "Peter",
|
||||
tags: ["rust", "cms", "open-source"],
|
||||
published: true,
|
||||
created_at: "2026-02-12T10:00:00Z",
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
title: "Warum Rust so toll ist",
|
||||
body: "Rust bietet Memory Safety ohne Garbage Collector, ein starkes Typsystem und exzellente Performance.",
|
||||
excerpt: "Eine Liebeserklaerung an Rust",
|
||||
author: "Peter",
|
||||
tags: ["rust", "programming"],
|
||||
published: true,
|
||||
created_at: "2026-02-12T14:30:00Z",
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"author": "string",
|
||||
"body": "string",
|
||||
"created_at": "2026-02-12T14:54:13.233374+00:00",
|
||||
"excerpt": "string",
|
||||
"published": false,
|
||||
"tags": [
|
||||
"string"
|
||||
],
|
||||
"title": "string"
|
||||
}
|
||||
5
content/de/demo/demo-welcome.json5
Normal file
5
content/de/demo/demo-welcome.json5
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
_slug: "demo-welcome",
|
||||
title: "Welcome",
|
||||
body: "This is the demo content. Replace types and content with your own; only this demo type and entry stay in version control.",
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "default",
|
||||
id: "navigation-footer",
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
name: "Hero Banner About",
|
||||
variant: "light",
|
||||
headline: "Ueber uns",
|
||||
subheadline: "Open Source seit 2026",
|
||||
text: "RustyCMS ist ein Open-Source-Projekt.",
|
||||
image: [],
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
name: "Hero Banner Startseite",
|
||||
variant: "dark",
|
||||
headline: "RustyCMS",
|
||||
subheadline: "Das file-basierte Headless CMS",
|
||||
text: "Typen definieren. Content ablegen. API nutzen.",
|
||||
image: ["https://example.com/images/hero-bg.jpg"],
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "headline-referenz",
|
||||
internal: "headline-ref",
|
||||
text: "Headline-Komponente (Referenz)",
|
||||
tag: "h2",
|
||||
align: "center",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
_slug: "html-referenz",
|
||||
id: "html-component-referenz",
|
||||
html: "<p>CF_HTML – <strong>HTML</strong>-Block mit Layout.</p>",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "iframe-referenz",
|
||||
name: "Iframe-Komponente (Referenz)",
|
||||
content: "Eingebetteter Inhalt von einer externen URL – z. B. Karte, Formular oder Video.",
|
||||
iframe: "https://example.com/embed",
|
||||
overlayImage: "",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "image-referenz",
|
||||
name: "Bild-Komponente (Referenz)",
|
||||
image: "referenz-bild",
|
||||
caption: "Bildunterschrift: CF_ComponentImage mit Layout und optionaler Caption.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
maxWidth: 800,
|
||||
aspectRatio: 1.333,
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "gallery-referenz",
|
||||
name: "Bildgalerie (Referenz)",
|
||||
images: ["referenz-bild"],
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "12",
|
||||
desktop: "12",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
description: "CF_ImageGallery – mehrere Bilder mit gemeinsamem Layout.",
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"description": "Platzhalter für Bild-Komponenten und Galerien",
|
||||
"file": {
|
||||
"contentType": "image/jpeg",
|
||||
"details": {
|
||||
"image": {
|
||||
"height": 600,
|
||||
"width": 800
|
||||
},
|
||||
"size": 12345
|
||||
},
|
||||
"fileName": "referenz-bild.jpg",
|
||||
"url": "https://placehold.co/800x600?text=Referenzbild"
|
||||
},
|
||||
"title": "Referenzbild für Komponenten-Test"
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "docs",
|
||||
name: "Dokumentation",
|
||||
internal: "link-docs",
|
||||
linkName: "Dokumentation",
|
||||
url: "https://example.com/docs",
|
||||
icon: "book",
|
||||
external: false,
|
||||
newTab: false,
|
||||
author: "RustyCMS",
|
||||
date: "2026-02-01",
|
||||
source: "RustyCMS",
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "gitlab",
|
||||
name: "GitLab",
|
||||
internal: "link-gitlab",
|
||||
linkName: "GitLab",
|
||||
url: "https://gitlab.com/example/rustycms",
|
||||
icon: "gitlab",
|
||||
external: true,
|
||||
newTab: true,
|
||||
description: "Projekt-Repository auf GitLab",
|
||||
author: "RustyCMS",
|
||||
date: "2026-02-01",
|
||||
source: "GitLab",
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
_slug: "link-list-referenz",
|
||||
headline: "Weitere Links",
|
||||
links: ["gitlab", "docs"],
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
_slug: "list-referenz",
|
||||
internal: "list-ref",
|
||||
item: [
|
||||
"Erster Punkt",
|
||||
"Zweiter Punkt",
|
||||
"Dritter Punkt",
|
||||
],
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
name: "Intro-Text Startseite",
|
||||
content: "Dieser Block entspricht dem Typ **Markdown** (CF_Markdown). Du kannst hier *Markdown* oder Fließtext eingeben. Die Row auf der Page referenziert diese Komponente.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "komponenten-referenz-intro",
|
||||
name: "Komponenten-Referenz (Intro)",
|
||||
content: "Diese Seite bindet **jede verfügbare Komponente** einmal ein – als Referenz und zum Testen. Enthalten: Fullwidth-Banner (oben), Markdown, Iframe, Bild, Bildgalerie.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
name: "Kontakt-Text",
|
||||
content: "Schreib uns eine E-Mail oder nutze das Projekt auf GitLab. RustyCMS ist Open Source – Beiträge und Ideen sind willkommen.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"internal": "navigation-header",
|
||||
"links": [
|
||||
"about",
|
||||
"home",
|
||||
"kontakt",
|
||||
"docs",
|
||||
"komponenten-referenz",
|
||||
"gitlab"
|
||||
],
|
||||
"name": "Hauptnavigation"
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
slug: "about",
|
||||
name: "Ueber uns",
|
||||
linkName: "About",
|
||||
headline: "Ueber RustyCMS",
|
||||
subheadline: "Open Source. File-basiert. Schnell.",
|
||||
topFullwidthBanner: "about-hero",
|
||||
seoTitle: "Ueber uns – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Erfahre mehr ueber das RustyCMS-Projekt.",
|
||||
row1JustifyContent: "start",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
// ── Page-eigene Felder ─────────────────────────────────
|
||||
slug: "home",
|
||||
name: "Startseite",
|
||||
linkName: "Home",
|
||||
icon: "home",
|
||||
headline: "Willkommen bei RustyCMS",
|
||||
subheadline: "Das file-basierte Headless CMS geschrieben in Rust",
|
||||
topFullwidthBanner: "hero", // → referenziert fullwidth_banner/hero.json5
|
||||
// ── SEO-Felder (geerbt von seo) ───────────────────────
|
||||
seoTitle: "RustyCMS – Startseite",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Willkommen bei RustyCMS, dem file-basierten Headless CMS.",
|
||||
// ── Content-Layout (geerbt von content_layout) ────────
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "center",
|
||||
row1Content: [
|
||||
"intro"
|
||||
],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "start",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
// ── Testseite: jede Komponente eingebunden (Referenz) ───
|
||||
_slug: "komponenten-referenz",
|
||||
slug: "komponenten-referenz",
|
||||
name: "Komponenten-Referenz",
|
||||
linkName: "Komponenten",
|
||||
icon: "grid",
|
||||
headline: "Komponenten-Referenz",
|
||||
subheadline: "Alle Komponenten auf einer Seite zum Testen und als Referenz",
|
||||
// Fullwidth-Banner (oben)
|
||||
topFullwidthBanner: "hero",
|
||||
// ── SEO ───────────────────────────────────────────────
|
||||
seoTitle: "Komponenten-Referenz – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Übersicht aller Komponenten: Banner, Headline, List, Link-Liste, Markdown, Iframe, Bild, YouTube, Quote, HTML, Galerie, SearchableText.",
|
||||
// ── Row 1: Markdown-Komponenten ──────────────────────
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [
|
||||
"komponenten-referenz-intro",
|
||||
"headline-referenz",
|
||||
"intro",
|
||||
"kontakt-text",
|
||||
"list-referenz",
|
||||
"link-list-referenz",
|
||||
],
|
||||
// ── Row 2: Iframe + Bild + YouTube ─────────────────────
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [
|
||||
"iframe-referenz",
|
||||
"image-referenz",
|
||||
"youtube-referenz",
|
||||
"quote-referenz",
|
||||
"html-referenz",
|
||||
],
|
||||
// ── Row 3: Bildgalerie + SearchableText ─────────────────
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [
|
||||
"gallery-referenz",
|
||||
"search-referenz",
|
||||
],
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
slug: "kontakt",
|
||||
name: "Kontakt",
|
||||
linkName: "Kontakt",
|
||||
icon: "mail",
|
||||
headline: "Kontakt",
|
||||
subheadline: "So erreichst du uns.",
|
||||
topFullwidthBanner: "about-hero",
|
||||
seoTitle: "Kontakt – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Kontakt und Ansprechpartner für RustyCMS.",
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [
|
||||
"kontakt-text"
|
||||
],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
_slug: "default",
|
||||
logo: "referenz-bild",
|
||||
footerText1: "© 2026 RustyCMS. Open Source.",
|
||||
seoTitle: "RustyCMS – File-basiertes Headless CMS",
|
||||
seoDescription: "RustyCMS: Typen definieren, Content ablegen, API nutzen.",
|
||||
blogTagPageHeadline: "Beiträge zum Tag",
|
||||
blogPostsPageHeadline: "Blog",
|
||||
blogPostsPageSubHeadline: "Alle Beiträge im Überblick",
|
||||
website: "https://example.com",
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
// Entry identifier (URL slug / filename without extension)
|
||||
_slug: "beispielpost",
|
||||
// ── Post-eigene Felder ─────────────────────────────────
|
||||
slug: "beispielpost",
|
||||
linkName: "Beispielpost",
|
||||
icon: "article",
|
||||
headline: "Ein Beispielpost",
|
||||
subheadline: "Mit allen erweiterten Feldern",
|
||||
excerpt: "Kurze Vorschau für Listen und Teaser.",
|
||||
postImage: "", // Referenz auf img-Entry (Slug)
|
||||
postTag: [
|
||||
"rust",
|
||||
"cms"
|
||||
],
|
||||
important: false,
|
||||
date: "2026-02-15",
|
||||
content: "# Einleitung\n\nHier steht der **Hauptinhalt** des Posts in Markdown. Absätze und _Formatierung_ werden unterstützt.\n\n## Überschriften und Listen\n\n- Erster Listenpunkt\n- Zweiter mit **Fett** und _Kursiv_\n- Dritter Punkt\n\n## Code und Zitate\n\n`Rust` eignet sich gut für sichere Systeme. Ein kurzer Code-Schnipsel:\n\n```\nfn main() {\n println!(\"Hallo von RustyCMS!\");\n}\n```\n\n> Ein Blockzitat passt gut für Hervorhebungen oder Zitate aus anderen Quellen.\n\n## Abschluss\n\nWeitere Absätze mit normalem Fließtext. [Links](https://example.com) und Bilder sind ebenfalls möglich.",
|
||||
showCommentSection: true,
|
||||
// ── SEO (geerbt von seo) ──────────────────────────────
|
||||
seoTitle: "Beispielpost – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Ein Beispielpost mit allen Feldern des erweiterten Post-Schemas.",
|
||||
// ── Content-Layout (geerbt von content_layout) ────────
|
||||
row1JustifyContent: "start",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"category": "electronics",
|
||||
"created_at": "2026-02-12T10:00:00Z",
|
||||
"images": [
|
||||
"img.jpg"
|
||||
],
|
||||
"price": 1299,
|
||||
"sku": "EL-1001",
|
||||
"title": "Laptop Pro 16 (Updated)"
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "quote-referenz",
|
||||
quote: "Dies ist ein Beispielzitat für die Komponenten-Referenz. CF_Quote mit variant left/right.",
|
||||
author: "RustyCMS",
|
||||
variant: "left",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "search-referenz",
|
||||
id: "searchable-text-referenz",
|
||||
title: "Durchsuchbare Texte (Referenz)",
|
||||
description: "CF_ComponentSearchableText – durchsuchbare Textfragmente mit optionaler Tag-Filterung.",
|
||||
tagWhitelist: ["rust", "cms"],
|
||||
textFragments: ["intro-suchbar", "faq-suchbar"],
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"name": "Auth Test"
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
name: "CMS",
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
name: "Rust",
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
_slug: "faq-suchbar",
|
||||
id: "fragment-faq",
|
||||
title: "FAQ – Häufige Fragen",
|
||||
text: "Wie starte ich? Lege Typen in types/ an, Content in content/<collection>/. Die REST-API liefert die Daten.",
|
||||
tags: ["cms"],
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
_slug: "intro-suchbar",
|
||||
id: "fragment-intro",
|
||||
title: "Intro-Text",
|
||||
text: "RustyCMS ist ein file-basiertes Headless CMS. Typen definieren, Content ablegen, API nutzen.",
|
||||
tags: ["rust", "cms"],
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
_slug: "banner-referenz",
|
||||
id: "top-banner-ref",
|
||||
text: "Hinweis: Dies ist ein Top-Banner (CF_TopBanner).",
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "youtube-referenz",
|
||||
youtubeId: "dQw4w9WgXcQ",
|
||||
params: "rel=0",
|
||||
title: "YouTube-Video (Referenz)",
|
||||
description: "CF_YoutubeVideo – eingebettetes Video mit Layout.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
title: "Mein erster Post",
|
||||
body: "Hallo Welt! Das ist **RustyCMS** – ein file-basiertes Headless CMS geschrieben in Rust.",
|
||||
excerpt: "Ein Einstieg in RustyCMS",
|
||||
author: "Peter",
|
||||
tags: ["rust", "cms", "open-source"],
|
||||
published: true,
|
||||
created_at: "2026-02-12T10:00:00Z",
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
title: "Warum Rust so toll ist",
|
||||
body: "Rust bietet Memory Safety ohne Garbage Collector, ein starkes Typsystem und exzellente Performance.",
|
||||
excerpt: "Eine Liebeserklaerung an Rust",
|
||||
author: "Peter",
|
||||
tags: ["rust", "programming"],
|
||||
published: true,
|
||||
created_at: "2026-02-12T14:30:00Z",
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"author": "string",
|
||||
"body": "string",
|
||||
"created_at": "2026-02-12T14:54:13.233374+00:00",
|
||||
"excerpt": "string",
|
||||
"published": false,
|
||||
"tags": [
|
||||
"string"
|
||||
],
|
||||
"title": "string"
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "default",
|
||||
id: "navigation-footer",
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
name: "Hero Banner About",
|
||||
variant: "light",
|
||||
headline: "Ueber uns",
|
||||
subheadline: "Open Source seit 2026",
|
||||
text: "RustyCMS ist ein Open-Source-Projekt.",
|
||||
image: [],
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
name: "Hero Banner Startseite",
|
||||
variant: "dark",
|
||||
headline: "RustyCMS",
|
||||
subheadline: "Das file-basierte Headless CMS",
|
||||
text: "Typen definieren. Content ablegen. API nutzen.",
|
||||
image: ["https://example.com/images/hero-bg.jpg"],
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "headline-referenz",
|
||||
internal: "headline-ref",
|
||||
text: "Headline-Komponente (Referenz)",
|
||||
tag: "h2",
|
||||
align: "center",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
_slug: "html-referenz",
|
||||
id: "html-component-referenz",
|
||||
html: "<p>CF_HTML – <strong>HTML</strong>-Block mit Layout.</p>",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "iframe-referenz",
|
||||
name: "Iframe-Komponente (Referenz)",
|
||||
content: "Eingebetteter Inhalt von einer externen URL – z. B. Karte, Formular oder Video.",
|
||||
iframe: "https://example.com/embed",
|
||||
overlayImage: "",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "image-referenz",
|
||||
name: "Bild-Komponente (Referenz)",
|
||||
image: "referenz-bild",
|
||||
caption: "Bildunterschrift: CF_ComponentImage mit Layout und optionaler Caption.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
maxWidth: 800,
|
||||
aspectRatio: 1.333,
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "gallery-referenz",
|
||||
name: "Bildgalerie (Referenz)",
|
||||
images: ["referenz-bild"],
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "12",
|
||||
desktop: "12",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
description: "CF_ImageGallery – mehrere Bilder mit gemeinsamem Layout.",
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "referenz-bild",
|
||||
title: "Referenzbild für Komponenten-Test",
|
||||
description: "Platzhalter für Bild-Komponenten und Galerien",
|
||||
file: {
|
||||
url: "https://placehold.co/800x600?text=Referenzbild",
|
||||
fileName: "referenz-bild.jpg",
|
||||
contentType: "image/jpeg",
|
||||
details: {
|
||||
size: 12345,
|
||||
image: { width: 800, height: 600 },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "docs",
|
||||
name: "Dokumentation",
|
||||
internal: "link-docs",
|
||||
linkName: "Dokumentation",
|
||||
url: "https://example.com/docs",
|
||||
icon: "book",
|
||||
external: false,
|
||||
newTab: false,
|
||||
author: "RustyCMS",
|
||||
date: "2026-02-01",
|
||||
source: "RustyCMS",
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "gitlab",
|
||||
name: "GitLab",
|
||||
internal: "link-gitlab",
|
||||
linkName: "GitLab",
|
||||
url: "https://gitlab.com/example/rustycms",
|
||||
icon: "gitlab",
|
||||
external: true,
|
||||
newTab: true,
|
||||
description: "Projekt-Repository auf GitLab",
|
||||
author: "RustyCMS",
|
||||
date: "2026-02-01",
|
||||
source: "GitLab",
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
_slug: "link-list-referenz",
|
||||
headline: "Weitere Links",
|
||||
links: ["gitlab", "docs"],
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
_slug: "list-referenz",
|
||||
internal: "list-ref",
|
||||
item: [
|
||||
"Erster Punkt",
|
||||
"Zweiter Punkt",
|
||||
"Dritter Punkt",
|
||||
],
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
name: "Intro (Home)",
|
||||
content: "This block uses the **Markdown** type (CF_Markdown). You can enter *Markdown* or plain text here. The page row references this component.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "komponenten-referenz-intro",
|
||||
name: "Komponenten-Referenz (Intro)",
|
||||
content: "Diese Seite bindet **jede verfügbare Komponente** einmal ein – als Referenz und zum Testen. Enthalten: Fullwidth-Banner (oben), Markdown, Iframe, Bild, Bildgalerie.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
name: "Kontakt-Text",
|
||||
content: "Schreib uns eine E-Mail oder nutze das Projekt auf GitLab. RustyCMS ist Open Source – Beiträge und Ideen sind willkommen.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1.5,
|
||||
},
|
||||
alignment: "center",
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "header",
|
||||
name: "Hauptnavigation",
|
||||
internal: "navigation-header",
|
||||
// Slugs aus page (home, about, kontakt, komponenten-referenz) oder post oder link
|
||||
links: [
|
||||
"home",
|
||||
"about",
|
||||
"kontakt",
|
||||
"komponenten-referenz",
|
||||
"gitlab",
|
||||
"docs",
|
||||
],
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
slug: "about",
|
||||
name: "Ueber uns",
|
||||
linkName: "About",
|
||||
headline: "Ueber RustyCMS",
|
||||
subheadline: "Open Source. File-basiert. Schnell.",
|
||||
topFullwidthBanner: "about-hero",
|
||||
seoTitle: "Ueber uns – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Erfahre mehr ueber das RustyCMS-Projekt.",
|
||||
row1JustifyContent: "start",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
// ── Page (EN) ──────────────────────────────────────────
|
||||
slug: "home",
|
||||
name: "Home",
|
||||
linkName: "Home",
|
||||
icon: "home",
|
||||
headline: "Welcome to RustyCMS",
|
||||
subheadline: "The file-based Headless CMS written in Rust",
|
||||
topFullwidthBanner: "hero",
|
||||
seoTitle: "RustyCMS – Home",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Welcome to RustyCMS, the file-based Headless CMS.",
|
||||
// ── Content-Layout (geerbt von content_layout) ────────
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "center",
|
||||
row1Content: [
|
||||
"intro"
|
||||
],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "start",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
// ── Testseite: jede Komponente eingebunden (Referenz) ───
|
||||
_slug: "komponenten-referenz",
|
||||
slug: "komponenten-referenz",
|
||||
name: "Komponenten-Referenz",
|
||||
linkName: "Komponenten",
|
||||
icon: "grid",
|
||||
headline: "Komponenten-Referenz",
|
||||
subheadline: "Alle Komponenten auf einer Seite zum Testen und als Referenz",
|
||||
// Fullwidth-Banner (oben)
|
||||
topFullwidthBanner: "hero",
|
||||
// ── SEO ───────────────────────────────────────────────
|
||||
seoTitle: "Komponenten-Referenz – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Übersicht aller Komponenten: Banner, Headline, List, Link-Liste, Markdown, Iframe, Bild, YouTube, Quote, HTML, Galerie, SearchableText.",
|
||||
// ── Row 1: Markdown-Komponenten ──────────────────────
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [
|
||||
"komponenten-referenz-intro",
|
||||
"headline-referenz",
|
||||
"intro",
|
||||
"kontakt-text",
|
||||
"list-referenz",
|
||||
"link-list-referenz",
|
||||
],
|
||||
// ── Row 2: Iframe + Bild + YouTube ─────────────────────
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [
|
||||
"iframe-referenz",
|
||||
"image-referenz",
|
||||
"youtube-referenz",
|
||||
"quote-referenz",
|
||||
"html-referenz",
|
||||
],
|
||||
// ── Row 3: Bildgalerie + SearchableText ─────────────────
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [
|
||||
"gallery-referenz",
|
||||
"search-referenz",
|
||||
],
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
slug: "kontakt",
|
||||
name: "Kontakt",
|
||||
linkName: "Kontakt",
|
||||
icon: "mail",
|
||||
headline: "Kontakt",
|
||||
subheadline: "So erreichst du uns.",
|
||||
topFullwidthBanner: "about-hero",
|
||||
seoTitle: "Kontakt – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Kontakt und Ansprechpartner für RustyCMS.",
|
||||
row1JustifyContent: "center",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [
|
||||
"kontakt-text"
|
||||
],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
_slug: "default",
|
||||
logo: "referenz-bild",
|
||||
footerText1: "© 2026 RustyCMS. Open Source.",
|
||||
seoTitle: "RustyCMS – File-basiertes Headless CMS",
|
||||
seoDescription: "RustyCMS: Typen definieren, Content ablegen, API nutzen.",
|
||||
blogTagPageHeadline: "Beiträge zum Tag",
|
||||
blogPostsPageHeadline: "Blog",
|
||||
blogPostsPageSubHeadline: "Alle Beiträge im Überblick",
|
||||
website: "https://example.com",
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
// Entry identifier (URL slug / filename without extension)
|
||||
_slug: "beispielpost",
|
||||
// ── Post-eigene Felder ─────────────────────────────────
|
||||
slug: "beispielpost",
|
||||
linkName: "Beispielpost",
|
||||
icon: "article",
|
||||
headline: "Ein Beispielpost",
|
||||
subheadline: "Mit allen erweiterten Feldern",
|
||||
excerpt: "Kurze Vorschau für Listen und Teaser.",
|
||||
postImage: "", // Referenz auf img-Entry (Slug)
|
||||
postTag: [
|
||||
"rust",
|
||||
"cms"
|
||||
],
|
||||
important: false,
|
||||
date: "2026-02-15",
|
||||
content: "# Einleitung\n\nHier steht der **Hauptinhalt** des Posts in Markdown. Absätze und _Formatierung_ werden unterstützt.\n\n## Überschriften und Listen\n\n- Erster Listenpunkt\n- Zweiter mit **Fett** und _Kursiv_\n- Dritter Punkt\n\n## Code und Zitate\n\n`Rust` eignet sich gut für sichere Systeme. Ein kurzer Code-Schnipsel:\n\n```\nfn main() {\n println!(\"Hallo von RustyCMS!\");\n}\n```\n\n> Ein Blockzitat passt gut für Hervorhebungen oder Zitate aus anderen Quellen.\n\n## Abschluss\n\nWeitere Absätze mit normalem Fließtext. [Links](https://example.com) und Bilder sind ebenfalls möglich.",
|
||||
showCommentSection: true,
|
||||
// ── SEO (geerbt von seo) ──────────────────────────────
|
||||
seoTitle: "Beispielpost – RustyCMS",
|
||||
seoMetaRobots: "index, follow",
|
||||
seoDescription: "Ein Beispielpost mit allen Feldern des erweiterten Post-Schemas.",
|
||||
// ── Content-Layout (geerbt von content_layout) ────────
|
||||
row1JustifyContent: "start",
|
||||
row1AlignItems: "stretch",
|
||||
row1Content: [],
|
||||
row2JustifyContent: "start",
|
||||
row2AlignItems: "stretch",
|
||||
row2Content: [],
|
||||
row3JustifyContent: "start",
|
||||
row3AlignItems: "stretch",
|
||||
row3Content: [],
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"category": "electronics",
|
||||
"created_at": "2026-02-12T10:00:00Z",
|
||||
"images": [
|
||||
"img.jpg"
|
||||
],
|
||||
"price": 1299,
|
||||
"sku": "EL-1001",
|
||||
"title": "Laptop Pro 16 (Updated)"
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
_slug: "quote-referenz",
|
||||
quote: "Dies ist ein Beispielzitat für die Komponenten-Referenz. CF_Quote mit variant left/right.",
|
||||
author: "RustyCMS",
|
||||
variant: "left",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "8",
|
||||
desktop: "6",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
_slug: "search-referenz",
|
||||
id: "searchable-text-referenz",
|
||||
title: "Durchsuchbare Texte (Referenz)",
|
||||
description: "CF_ComponentSearchableText – durchsuchbare Textfragmente mit optionaler Tag-Filterung.",
|
||||
tagWhitelist: ["rust", "cms"],
|
||||
textFragments: ["intro-suchbar", "faq-suchbar"],
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"name": "Auth Test"
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
name: "CMS",
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
name: "Rust",
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
_slug: "faq-suchbar",
|
||||
id: "fragment-faq",
|
||||
title: "FAQ – Häufige Fragen",
|
||||
text: "Wie starte ich? Lege Typen in types/ an, Content in content/<collection>/. Die REST-API liefert die Daten.",
|
||||
tags: ["cms"],
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
_slug: "intro-suchbar",
|
||||
id: "fragment-intro",
|
||||
title: "Intro-Text",
|
||||
text: "RustyCMS ist ein file-basiertes Headless CMS. Typen definieren, Content ablegen, API nutzen.",
|
||||
tags: ["rust", "cms"],
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
_slug: "banner-referenz",
|
||||
id: "top-banner-ref",
|
||||
text: "Hinweis: Dies ist ein Top-Banner (CF_TopBanner).",
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
_slug: "youtube-referenz",
|
||||
youtubeId: "dQw4w9WgXcQ",
|
||||
params: "rel=0",
|
||||
title: "YouTube-Video (Referenz)",
|
||||
description: "CF_YoutubeVideo – eingebettetes Video mit Layout.",
|
||||
layout: {
|
||||
mobile: "12",
|
||||
tablet: "10",
|
||||
desktop: "8",
|
||||
spaceBottom: 1,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user