{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://1studi.ru/content/schema.json", "title": "Raiju CMS Content Schema", "description": "Schema for Raiju CMS content files (pages, news posts, settings).", "$defs": { "sectionBase": { "type": "object", "required": ["id", "type"], "properties": { "id": { "type": "string", "description": "Unique section identifier within the page (e.g. 's1', 'section_heading')." }, "type": { "type": "string", "enum": ["text", "heading", "quote", "list", "image", "card", "youtube", "soundcloud", "audio", "divider", "spacer"] }, "hidden": { "type": "boolean", "default": false, "description": "If true, section is hidden from visitors but visible to admins." } } }, "sectionText": { "allOf": [ { "$ref": "#/$defs/sectionBase" }, { "properties": { "type": { "const": "text" }, "title": { "type": "string", "default": "" }, "titleTag": { "type": "string", "enum": ["h1", "h2", "h3", "h4", "h5", "h6"], "default": "h2" }, "content": { "type": "string", "description": "HTML content.", "default": "
" }, "style": { "type": "string", "enum": ["", "highlight"], "default": "" } } } ] }, "sectionHeading": { "allOf": [ { "$ref": "#/$defs/sectionBase" }, { "properties": { "type": { "const": "heading" }, "text": { "type": "string", "description": "Heading text." }, "level": { "type": "string", "enum": ["h1", "h2", "h3", "h4", "h5", "h6"], "default": "h2" }, "subtitle": { "type": "string", "default": "" } }, "required": ["text"] } ] }, "sectionQuote": { "allOf": [ { "$ref": "#/$defs/sectionBase" }, { "properties": { "type": { "const": "quote" }, "text": { "type": "string", "description": "Quote text. Legacy key 'quote' also supported." }, "quote": { "type": "string", "description": "Legacy alias for 'text'." }, "attribution": { "type": "string", "default": "", "description": "Attribution. Legacy key 'author' also supported." }, "author": { "type": "string", "description": "Legacy alias for 'attribution'." }, "style": { "type": "string", "enum": ["default", "large"], "default": "default" } } } ] }, "sectionList": { "allOf": [ { "$ref": "#/$defs/sectionBase" }, { "properties": { "type": { "const": "list" }, "title": { "type": "string", "default": "" }, "style": { "type": "string", "enum": ["bullet", "numbered"], "default": "bullet" }, "content": { "type": "string", "description": "HTML list content (