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:
25
schemas/calendar.schema.json
Normal file
25
schemas/calendar.schema.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
"description": "Calendar entries (references to calendar_item)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'calendar_item'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"fromPost": {
|
||||
"default": false,
|
||||
"description": "Include entries from post",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": ["_slug"],
|
||||
"type": "object"
|
||||
}
|
||||
29
schemas/calendar_item.schema.json
Normal file
29
schemas/calendar_item.schema.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"title": {
|
||||
"description": "Event title",
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Event description",
|
||||
"type": "string"
|
||||
},
|
||||
"terminZeit": {
|
||||
"description": "Event date/time",
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
"link": {
|
||||
"description": "Optional link (e.g. registration or details page)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "title", "terminZeit"],
|
||||
"type": "object"
|
||||
}
|
||||
67
schemas/campaign.schema.json
Normal file
67
schemas/campaign.schema.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"campaignName": {
|
||||
"description": "Campaign name",
|
||||
"type": "string"
|
||||
},
|
||||
"css": {
|
||||
"description": "Optional CSS",
|
||||
"type": "string"
|
||||
},
|
||||
"html": {
|
||||
"description": "HTML content",
|
||||
"type": "string"
|
||||
},
|
||||
"insertHtml": {
|
||||
"default": "beforeend",
|
||||
"description": "Position relative to selector",
|
||||
"enum": [
|
||||
"afterbegin",
|
||||
"beforeend",
|
||||
"afterend",
|
||||
"beforebegin",
|
||||
"replace"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"javascript": {
|
||||
"description": "Optional JavaScript",
|
||||
"type": "string"
|
||||
},
|
||||
"medias": {
|
||||
"description": "Media (images)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"selector": {
|
||||
"description": "CSS selector where content is inserted",
|
||||
"type": "string"
|
||||
},
|
||||
"timeUntil": {
|
||||
"description": "Time limit (until when the campaign runs)",
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
"urlPattern": {
|
||||
"description": "URL pattern (e.g. regex) for campaign usage",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"_slug",
|
||||
"campaignName",
|
||||
"urlPattern",
|
||||
"selector",
|
||||
"insertHtml"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
32
schemas/campaigns.schema.json
Normal file
32
schemas/campaigns.schema.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"campaigns": {
|
||||
"description": "Campaign list",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'campaign'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"enable": {
|
||||
"default": true,
|
||||
"description": "Campaigns enabled",
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique ID (e.g. campaigns-global)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"_slug",
|
||||
"id"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
@@ -19,9 +19,9 @@
|
||||
"type": "string"
|
||||
},
|
||||
"row1Content": {
|
||||
"description": "Content components for row 1 (Markdown blocks)",
|
||||
"description": "Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'markdown'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -53,7 +53,7 @@
|
||||
"row2Content": {
|
||||
"description": "Content components for row 2",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -84,7 +84,7 @@
|
||||
"row3Content": {
|
||||
"description": "Content components for row 3",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
|
||||
@@ -13,51 +13,102 @@
|
||||
"row1AlignItems": {
|
||||
"default": "stretch",
|
||||
"description": "Align items for row 1",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row1Content": {
|
||||
"description": "Content components for row 1",
|
||||
"items": { "type": "string" },
|
||||
"description": "Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row1JustifyContent": {
|
||||
"default": "start",
|
||||
"description": "Justify content for row 1",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2Content": {
|
||||
"description": "Content components for row 2",
|
||||
"items": { "type": "string" },
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row2JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3Content": {
|
||||
"description": "Content components for row 3",
|
||||
"items": { "type": "string" },
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row3JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "id"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"id"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,29 @@
|
||||
"type": "string"
|
||||
},
|
||||
"image": {
|
||||
"description": "Image URLs",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
"description": "Banner image",
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"description": "Internal name",
|
||||
@@ -28,6 +46,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"variant": {
|
||||
"default": "light",
|
||||
"description": "Color variant",
|
||||
"enum": [
|
||||
"dark",
|
||||
|
||||
@@ -2,26 +2,128 @@
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": { "description": "Entry identifier", "type": "string" },
|
||||
"internal": { "description": "Internal key", "type": "string" },
|
||||
"text": { "description": "Headline text", "type": "string" },
|
||||
"tag": {
|
||||
"description": "HTML tag",
|
||||
"enum": ["h1", "h2", "h3", "h4", "h5", "h6"],
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"align": {
|
||||
"default": "left",
|
||||
"description": "Text alignment",
|
||||
"enum": [
|
||||
"left",
|
||||
"center",
|
||||
"right"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"internal": {
|
||||
"description": "Internal key",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": { "default": "12", "enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], "type": "string" },
|
||||
"tablet": { "enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], "type": "string" },
|
||||
"desktop": { "enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], "type": "string" },
|
||||
"spaceBottom": { "enum": [0, 0.5, 1, 1.5, 2], "type": "number" }
|
||||
"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"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"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
|
||||
],
|
||||
"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"
|
||||
},
|
||||
"align": { "enum": ["left", "center", "right"], "type": "string" }
|
||||
"tag": {
|
||||
"default": "h2",
|
||||
"description": "HTML tag for headline",
|
||||
"enum": [
|
||||
"h1",
|
||||
"h2",
|
||||
"h3",
|
||||
"h4",
|
||||
"h5",
|
||||
"h6"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"text": {
|
||||
"description": "Headline text",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "internal", "text", "tag"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"internal",
|
||||
"text",
|
||||
"tag"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,43 +6,100 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique component ID",
|
||||
"type": "string"
|
||||
},
|
||||
"html": {
|
||||
"description": "HTML content (safely embedded)",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique component ID",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "id", "html"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"id",
|
||||
"html"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Internal component name",
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"description": "Description/content for iframe",
|
||||
"type": "string"
|
||||
@@ -18,39 +14,101 @@
|
||||
"description": "Iframe URL or embed code",
|
||||
"type": "string"
|
||||
},
|
||||
"overlayImage": {
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
},
|
||||
"name": {
|
||||
"description": "Internal component name",
|
||||
"type": "string"
|
||||
},
|
||||
"overlayImage": {
|
||||
"description": "Optional overlay image (reference to img)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "name", "content", "iframe"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"name",
|
||||
"content",
|
||||
"iframe"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -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 (1–12)",
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -6,50 +6,128 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Internal gallery name",
|
||||
"description": {
|
||||
"description": "Optional gallery description",
|
||||
"type": "string"
|
||||
},
|
||||
"images": {
|
||||
"description": "References (slugs) to collection 'img'",
|
||||
"description": "Images (references to img)",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
},
|
||||
"description": {
|
||||
"description": "Optional gallery description",
|
||||
"name": {
|
||||
"description": "Internal gallery name",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "name", "images"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"name",
|
||||
"images"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,34 +6,18 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"title": {
|
||||
"description": "Image title",
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"file": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": { "type": "string", "description": "Image URL" },
|
||||
"fileName": { "type": "string" },
|
||||
"contentType": { "type": "string" },
|
||||
"details": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"size": { "type": "number" },
|
||||
"image": {
|
||||
"type": "object",
|
||||
"properties": { "width": { "type": "number" }, "height": { "type": "number" } }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["url"]
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "title", "file"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,33 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Internal link name",
|
||||
"alt": {
|
||||
"description": "Alt text (e.g. for icon)",
|
||||
"type": "string"
|
||||
},
|
||||
"author": {
|
||||
"description": "Author (e.g. for sources)",
|
||||
"type": "string"
|
||||
},
|
||||
"color": {
|
||||
"description": "Color (e.g. for buttons)",
|
||||
"type": "string"
|
||||
},
|
||||
"date": {
|
||||
"description": "Date (e.g. publication)",
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Description",
|
||||
"type": "string"
|
||||
},
|
||||
"external": {
|
||||
"default": false,
|
||||
"description": "External link",
|
||||
"type": "boolean"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Icon identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"internal": {
|
||||
@@ -18,51 +43,38 @@
|
||||
"description": "Display name (e.g. in navigation)",
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"description": "Target URL",
|
||||
"type": "string"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Icon identifier",
|
||||
"type": "string"
|
||||
},
|
||||
"color": {
|
||||
"description": "Color (e.g. for buttons)",
|
||||
"name": {
|
||||
"description": "Internal link name",
|
||||
"type": "string"
|
||||
},
|
||||
"newTab": {
|
||||
"default": false,
|
||||
"description": "Open in new tab",
|
||||
"type": "boolean"
|
||||
},
|
||||
"external": {
|
||||
"description": "External link",
|
||||
"type": "boolean"
|
||||
},
|
||||
"description": {
|
||||
"description": "Description",
|
||||
"type": "string"
|
||||
},
|
||||
"alt": {
|
||||
"description": "Alt text (e.g. for icon)",
|
||||
"type": "string"
|
||||
},
|
||||
"showText": {
|
||||
"default": true,
|
||||
"description": "Show text",
|
||||
"type": "boolean"
|
||||
},
|
||||
"author": {
|
||||
"description": "Author (e.g. for sources)",
|
||||
"type": "string"
|
||||
},
|
||||
"date": {
|
||||
"description": "Date (e.g. publication)",
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"description": "Source",
|
||||
"type": "string"
|
||||
},
|
||||
"url": {
|
||||
"description": "Target URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "name", "internal", "linkName", "url", "author", "date", "source"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"name",
|
||||
"internal",
|
||||
"linkName",
|
||||
"url",
|
||||
"author",
|
||||
"date",
|
||||
"source"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,27 @@
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": { "description": "Entry identifier", "type": "string" },
|
||||
"headline": { "description": "Link list headline", "type": "string" },
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"headline": {
|
||||
"description": "Link list headline",
|
||||
"type": "string"
|
||||
},
|
||||
"links": {
|
||||
"description": "References (slugs) to collection 'link'",
|
||||
"items": { "type": "string" },
|
||||
"description": "Links (references to link)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'link'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "headline", "links"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"headline",
|
||||
"links"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,26 @@
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": { "description": "Entry identifier", "type": "string" },
|
||||
"internal": { "description": "Internal key", "type": "string" },
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"internal": {
|
||||
"description": "Internal key",
|
||||
"type": "string"
|
||||
},
|
||||
"item": {
|
||||
"description": "List entries",
|
||||
"items": { "type": "string" },
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "internal", "item"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"internal",
|
||||
"item"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -17,12 +17,17 @@
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"description": "Markdown/body text content",
|
||||
"description": "Markdown/body text: either inline or file reference (file:path, e.g. file:slug.content.md)",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"breakout": {
|
||||
"default": false,
|
||||
"description": "Breakout layout (full width)",
|
||||
"type": "boolean"
|
||||
},
|
||||
"desktop": {
|
||||
"description": "Width on desktop (optional)",
|
||||
"enum": [
|
||||
@@ -61,6 +66,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"spaceBottom": {
|
||||
"default": 0,
|
||||
"description": "Space below (rem)",
|
||||
"enum": [
|
||||
0,
|
||||
|
||||
@@ -6,22 +6,28 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Display name of navigation",
|
||||
"type": "string"
|
||||
},
|
||||
"internal": {
|
||||
"description": "Internal key (e.g. navigation-header, navigation-footer)",
|
||||
"type": "string"
|
||||
},
|
||||
"links": {
|
||||
"description": "References (slugs) to link, page or post",
|
||||
"description": "Navigation entries (references to link, page or post)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: link, page, post",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"name": {
|
||||
"description": "Display name of navigation",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "name", "internal", "links"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"name",
|
||||
"internal",
|
||||
"links"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -24,13 +24,19 @@
|
||||
"row1AlignItems": {
|
||||
"default": "stretch",
|
||||
"description": "Align items for row 1",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row1Content": {
|
||||
"description": "Content components for row 1 (Markdown blocks)",
|
||||
"description": "Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'markdown'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -38,43 +44,76 @@
|
||||
"row1JustifyContent": {
|
||||
"default": "start",
|
||||
"description": "Justify content for row 1",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2Content": {
|
||||
"description": "Content components for row 2",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row2JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": ["start", "end", "center", "baseline", "stretch"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3Content": {
|
||||
"description": "Content components for row 3",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row3JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": ["start", "end", "center", "between", "around", "evenly"],
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"seoDescription": {
|
||||
@@ -109,6 +148,13 @@
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "seoTitle", "slug", "name", "linkName", "headline"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"seoTitle",
|
||||
"slug",
|
||||
"name",
|
||||
"linkName",
|
||||
"headline"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,26 +6,6 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"logo": {
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
"footerText1": {
|
||||
"description": "Footer text (e.g. copyright)",
|
||||
"type": "string"
|
||||
},
|
||||
"seoTitle": {
|
||||
"description": "Default SEO title for website",
|
||||
"type": "string"
|
||||
},
|
||||
"seoDescription": {
|
||||
"description": "Default meta description",
|
||||
"type": "string"
|
||||
},
|
||||
"blogTagPageHeadline": {
|
||||
"description": "Headline for tag page (blog)",
|
||||
"type": "string"
|
||||
},
|
||||
"blogPostsPageHeadline": {
|
||||
"description": "Headline for blog overview page",
|
||||
"type": "string"
|
||||
@@ -34,11 +14,59 @@
|
||||
"description": "Subheadline for blog overview page",
|
||||
"type": "string"
|
||||
},
|
||||
"blogTagPageHeadline": {
|
||||
"description": "Headline for tag page (blog)",
|
||||
"type": "string"
|
||||
},
|
||||
"footerText1": {
|
||||
"description": "Footer text (e.g. copyright)",
|
||||
"type": "string"
|
||||
},
|
||||
"logo": {
|
||||
"description": "Logo image (reference to img)",
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"seoDescription": {
|
||||
"description": "Default meta description",
|
||||
"type": "string"
|
||||
},
|
||||
"seoTitle": {
|
||||
"description": "Default SEO title for website",
|
||||
"type": "string"
|
||||
},
|
||||
"website": {
|
||||
"description": "Website URL",
|
||||
"description": "Website-URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "logo", "footerText1", "seoTitle", "seoDescription", "website"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"logo",
|
||||
"footerText1",
|
||||
"seoTitle",
|
||||
"seoDescription",
|
||||
"website"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,20 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"description": "Post body (Markdown)",
|
||||
"type": "string"
|
||||
},
|
||||
"created": {
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"date": {
|
||||
"description": "Optional display date",
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
"excerpt": {
|
||||
"description": "Short summary for previews",
|
||||
"maxLength": 500,
|
||||
@@ -22,12 +31,38 @@
|
||||
"icon": {
|
||||
"type": "string"
|
||||
},
|
||||
"important": {
|
||||
"default": false,
|
||||
"description": "Mark post as important",
|
||||
"type": "boolean"
|
||||
},
|
||||
"linkName": {
|
||||
"type": "string"
|
||||
},
|
||||
"postImage": {
|
||||
"description": "Featured image",
|
||||
"type": "string"
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"postTag": {
|
||||
"description": "Associated tags",
|
||||
@@ -50,9 +85,9 @@
|
||||
"type": "string"
|
||||
},
|
||||
"row1Content": {
|
||||
"description": "Content components for row 1 (Markdown blocks)",
|
||||
"description": "Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'markdown'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -84,7 +119,7 @@
|
||||
"row2Content": {
|
||||
"description": "Content components for row 2",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -115,7 +150,7 @@
|
||||
"row3Content": {
|
||||
"description": "Content components for row 3",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection '?'",
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
@@ -152,29 +187,16 @@
|
||||
"description": "SEO page title",
|
||||
"type": "string"
|
||||
},
|
||||
"showCommentSection": {
|
||||
"default": true,
|
||||
"description": "Show comment section (default: true)",
|
||||
"type": "boolean"
|
||||
},
|
||||
"slug": {
|
||||
"type": "string"
|
||||
},
|
||||
"subheadline": {
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"description": "Post body (Markdown/HTML)",
|
||||
"type": "string"
|
||||
},
|
||||
"date": {
|
||||
"description": "Optional display date",
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
"important": {
|
||||
"description": "Mark post as important",
|
||||
"type": "boolean"
|
||||
},
|
||||
"showCommentSection": {
|
||||
"default": true,
|
||||
"description": "Show comment section (default: true)",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
||||
258
schemas/post_overview.schema.json
Normal file
258
schemas/post_overview.schema.json
Normal file
@@ -0,0 +1,258 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"allPosts": {
|
||||
"default": false,
|
||||
"description": "Show all posts (otherwise filter)",
|
||||
"type": "boolean"
|
||||
},
|
||||
"design": {
|
||||
"description": "Display as cards or list",
|
||||
"enum": [
|
||||
"cards",
|
||||
"list"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"filterByTag": {
|
||||
"description": "Only posts with these tags",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'tag'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"headline": {
|
||||
"description": "Headline",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique post overview ID",
|
||||
"type": "string"
|
||||
},
|
||||
"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"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"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
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"numberItems": {
|
||||
"description": "Max. number of displayed entries",
|
||||
"type": "integer"
|
||||
},
|
||||
"posts": {
|
||||
"description": "Fixed list of posts (when not allPosts)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'post'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row1AlignItems": {
|
||||
"default": "stretch",
|
||||
"description": "Align items for row 1",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row1Content": {
|
||||
"description": "Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row1JustifyContent": {
|
||||
"default": "start",
|
||||
"description": "Justify content for row 1",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row2Content": {
|
||||
"description": "Content components for row 2",
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row2JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3AlignItems": {
|
||||
"default": "stretch",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"baseline",
|
||||
"stretch"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"row3Content": {
|
||||
"description": "Content components for row 3",
|
||||
"items": {
|
||||
"description": "Reference (slug) to one of: markdown, post_overview, html, headline, image, quote, youtube_video, image_gallery, iframe, searchable_text, fullwidth_banner, list",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"row3JustifyContent": {
|
||||
"default": "start",
|
||||
"enum": [
|
||||
"start",
|
||||
"end",
|
||||
"center",
|
||||
"between",
|
||||
"around",
|
||||
"evenly"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"seoDescription": {
|
||||
"description": "Meta description for search engines",
|
||||
"maxLength": 160,
|
||||
"type": "string"
|
||||
},
|
||||
"seoMetaRobots": {
|
||||
"default": "index, follow",
|
||||
"description": "Robots meta directive",
|
||||
"enum": [
|
||||
"index, follow",
|
||||
"noindex, follow",
|
||||
"index, nofollow",
|
||||
"noindex, nofollow"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"seoTitle": {
|
||||
"description": "SEO page title",
|
||||
"type": "string"
|
||||
},
|
||||
"text": {
|
||||
"description": "Intro text",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"_slug",
|
||||
"seoTitle",
|
||||
"id",
|
||||
"headline"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
@@ -30,7 +30,29 @@
|
||||
"images": {
|
||||
"description": "Product image URLs (1–10)",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"description": "Product image",
|
||||
"oneOf": [
|
||||
{
|
||||
"description": "Reference (slug) to collection 'img'",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "Alt text / description",
|
||||
"type": "string"
|
||||
},
|
||||
"src": {
|
||||
"description": "Image URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"src"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"maxItems": 10,
|
||||
"minItems": 1,
|
||||
|
||||
@@ -6,48 +6,110 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"quote": {
|
||||
"description": "Quote text",
|
||||
"type": "string"
|
||||
},
|
||||
"author": {
|
||||
"description": "Author or source of quote",
|
||||
"type": "string"
|
||||
},
|
||||
"variant": {
|
||||
"description": "Quote alignment",
|
||||
"enum": ["left", "right"],
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
},
|
||||
"quote": {
|
||||
"description": "Quote text",
|
||||
"type": "string"
|
||||
},
|
||||
"variant": {
|
||||
"default": "left",
|
||||
"description": "Quote alignment",
|
||||
"enum": [
|
||||
"left",
|
||||
"right"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "quote", "author", "variant"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"quote",
|
||||
"author",
|
||||
"variant"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -6,57 +6,120 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique component ID",
|
||||
"type": "string"
|
||||
},
|
||||
"tagWhitelist": {
|
||||
"description": "References (slugs) to collection 'tag'",
|
||||
"items": { "type": "string" },
|
||||
"type": "array"
|
||||
},
|
||||
"textFragments": {
|
||||
"description": "References (slugs) to collection 'text_fragment'",
|
||||
"items": { "type": "string" },
|
||||
"type": "array"
|
||||
},
|
||||
"title": {
|
||||
"description": "Search component title",
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Description",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique component ID",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
"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 (1–12)",
|
||||
"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"
|
||||
},
|
||||
"tagWhitelist": {
|
||||
"description": "Optional: only search content with these tags",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'tag'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"textFragments": {
|
||||
"description": "Searchable text fragments (references to text_fragment)",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'text_fragment'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"title": {
|
||||
"description": "Search component title",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "id", "textFragments"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"id",
|
||||
"textFragments"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -11,19 +11,27 @@
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"description": "References (slugs) to collection 'tag'",
|
||||
"items": { "type": "string" },
|
||||
"description": "Optional tags for categorisation",
|
||||
"items": {
|
||||
"description": "Reference (slug) to collection 'tag'",
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"title": {
|
||||
"description": "Text fragment title",
|
||||
"type": "string"
|
||||
},
|
||||
"text": {
|
||||
"description": "Searchable text content",
|
||||
"type": "string"
|
||||
},
|
||||
"title": {
|
||||
"description": "Text fragment title",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "id", "title", "text"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"id",
|
||||
"title",
|
||||
"text"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,23 @@
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": { "description": "Entry identifier", "type": "string" },
|
||||
"id": { "description": "Unique ID", "type": "string" },
|
||||
"text": { "description": "Banner text", "type": "string" }
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique ID",
|
||||
"type": "string"
|
||||
},
|
||||
"text": {
|
||||
"description": "Banner text (e.g. notice at top of page)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "id", "text"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"id",
|
||||
"text"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
22
schemas/translation_bundle.schema.json
Normal file
22
schemas/translation_bundle.schema.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"_slug": {
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"strings": {
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Map: Übersetzungsschlüssel (key) → Text (value). Z. B. { \"searchable_text_help\": \"Hier könnt ihr...\", \"footer_copyright\": \"© 2024\" }",
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"_slug",
|
||||
"strings"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
@@ -6,14 +6,95 @@
|
||||
"description": "Entry identifier (URL slug / filename without extension)",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique ID (optional)",
|
||||
"description": {
|
||||
"description": "Short description",
|
||||
"type": "string"
|
||||
},
|
||||
"youtubeId": {
|
||||
"description": "YouTube video ID (e.g. from URL ?v=VIDEO_ID)",
|
||||
"id": {
|
||||
"description": "Unique ID (optional, otherwise _slug)",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"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"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"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
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"params": {
|
||||
"description": "Optional URL params (e.g. start=30, autoplay=1)",
|
||||
"type": "string"
|
||||
@@ -22,39 +103,14 @@
|
||||
"description": "Video title",
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Short description",
|
||||
"youtubeId": {
|
||||
"description": "YouTube video ID (e.g. from URL ?v=VIDEO_ID)",
|
||||
"type": "string"
|
||||
},
|
||||
"layout": {
|
||||
"description": "Column width (grid) like CF_ComponentLayout",
|
||||
"properties": {
|
||||
"mobile": {
|
||||
"default": "12",
|
||||
"description": "Width on mobile (1–12)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"tablet": {
|
||||
"description": "Width on tablet (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"desktop": {
|
||||
"description": "Width on desktop (optional)",
|
||||
"enum": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
||||
"type": "string"
|
||||
},
|
||||
"spaceBottom": {
|
||||
"description": "Space below (rem)",
|
||||
"enum": [0, 0.5, 1, 1.5, 2],
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": ["mobile"],
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": ["_slug", "youtubeId"],
|
||||
"required": [
|
||||
"_slug",
|
||||
"youtubeId"
|
||||
],
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user