Files
rustycms/schemas/blog_post.schema.json

54 lines
1.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"_slug": {
"description": "Entry identifier (URL slug / filename without extension)",
"type": "string"
},
"author": {
"description": "Author name",
"type": "string"
},
"body": {
"description": "Main content (Markdown)",
"minLength": 1,
"type": "string"
},
"created_at": {
"description": "Creation timestamp (auto-generated)",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"excerpt": {
"description": "Short summary for previews",
"maxLength": 500,
"type": "string"
},
"published": {
"default": false,
"description": "Whether the post is publicly visible",
"type": "boolean"
},
"tags": {
"description": "Categorisation tags",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Title of the blog post",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"_slug",
"title",
"body"
],
"type": "object"
}