Files
rustycms/schemas/page.schema.json

115 lines
3.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"_slug": {
"description": "Entry identifier (URL slug / filename without extension)",
"type": "string"
},
"headline": {
"type": "string"
},
"icon": {
"description": "Icon identifier (optional)",
"type": "string"
},
"linkName": {
"description": "Display name in navigation",
"type": "string"
},
"name": {
"description": "Internal page name",
"type": "string"
},
"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 blocks)",
"items": {
"description": "Reference (slug) to collection 'markdown'",
"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 collection '?'",
"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 collection '?'",
"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"
},
"slug": {
"description": "URL slug",
"type": "string"
},
"subheadline": {
"type": "string"
},
"topFullwidthBanner": {
"description": "Hero banner at the top",
"type": "string"
}
},
"required": ["_slug", "seoTitle", "slug", "name", "linkName", "headline"],
"type": "object"
}