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:
Peter Meier
2026-03-12 14:21:49 +01:00
parent aad93d145f
commit 7795a238e1
278 changed files with 15551 additions and 4072 deletions

View File

@@ -6,55 +6,135 @@
"description": "Entry identifier (URL slug / filename without extension)",
"type": "string"
},
"name": {
"description": "Internal component name",
"type": "string"
},
"image": {
"description": "Reference (slug) to collection 'img'",
"type": "string"
"aspectRatio": {
"description": "Aspect ratio",
"type": "string",
"enum": ["1:1", "4:3", "3:2", "16:9", "21:9", "2:3", "3:4"],
"default": "4:3"
},
"caption": {
"description": "Image caption",
"type": "string"
},
"layout": {
"description": "Column width (grid) like CF_ComponentLayout",
"properties": {
"mobile": {
"default": "12",
"description": "Width on mobile (112)",
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
"img": {
"description": "Image: Slug (Referenz) oder Inline-Objekt (gleiche Felder wie img)",
"oneOf": [
{
"description": "Reference (slug) to collection 'img'",
"type": "string"
},
"tablet": {
"description": "Width on tablet (optional)",
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
"type": "string"
{
"properties": {
"description": {
"description": "Alt text / description",
"type": "string"
},
"src": {
"description": "Image URL",
"type": "string"
}
},
"required": [
"src"
],
"type": "object"
}
]
},
"layout": {
"description": "Column width (grid)",
"properties": {
"breakout": {
"default": false,
"description": "Breakout layout (full width)",
"type": "boolean"
},
"desktop": {
"description": "Width on desktop (optional)",
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
],
"type": "string"
},
"mobile": {
"default": "12",
"description": "Width on mobile (112)",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
],
"type": "string"
},
"spaceBottom": {
"default": 0,
"description": "Space below (rem)",
"enum": [0, 0.5, 1, 1.5, 2],
"enum": [
0,
0.5,
1,
1.5,
2
],
"type": "number"
},
"tablet": {
"description": "Width on tablet (optional)",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
],
"type": "string"
}
},
"required": ["mobile"],
"required": [
"mobile"
],
"type": "object"
},
"maxWidth": {
"description": "Max width in px",
"type": "number"
"type": "integer"
},
"aspectRatio": {
"description": "Aspect ratio (e.g. 16/9)",
"type": "number"
"name": {
"description": "Internal component name",
"type": "string"
}
},
"required": ["_slug", "name", "image"],
"required": [
"_slug",
"name",
"img"
],
"type": "object"
}
}