54 lines
1.2 KiB
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"
|
|
} |