{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/blog-post.json", "title": "Blog post", "description": "A blog post", "allOf": [ { "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content" } ], "type": "object", "properties": { "title": { "title": "Title", "description": "Used for heading and SEO title tag", "type": "string", "minLength": 1, "maxLength": 150 }, "_meta":{ "type":"object", "properties":{ "deliveryKey":{ "type":"string", "title":"Delivery key", "description": "The delivery key is used as the URL slug" } }, "required": ["deliveryKey"] }, "date": { "title": "Creation date", "description": "Creation date (YYYY-MM-DD)", "type": "string", "maxLength": 10, "minLength": 10, "pattern": "^[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$" }, "description": { "title": "Description", "description": "Used for blog listing page and SEO description", "type": "string", "minLength": 1, "maxLength": 200 }, "image": { "title": "Image", "description": "Used for the blog post's thumbnail and banner", "allOf": [ { "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content-link" }, { "properties": { "contentType": { "enum": ["https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/image.json"] } } } ] }, "tags": { "title": "Tags", "description": "Blog tags", "type": "array", "minItems": 0, "maxItems": 10, "items": { "type": "string", "minLength": 1, "maxLength": 100, "title": "Tag", "description": "" } }, "readTime": { "title": "Read time", "description": "The time it takes to read the blog", "type": "integer" }, "authors": { "title": "Blog author", "description": "Article author(s) - max 3", "type": "array", "minItems": 1, "maxItems": 3, "items": { "allOf": [ { "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content-link" }, { "properties": { "contentType": { "enum": ["https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/author.json"] } } } ] } }, "content": { "title": "Content", "description": "", "type": "array", "minItems": 1, "maxItems": 20, "items": { "allOf": [ { "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content-link" }, { "properties": { "contentType": { "title": "Content", "enum": [ "https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/image.json", "https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/video.json", "https://raw.githubusercontent.com/amplience/dc-sample-blog-nextjs/master/schemas/text.json" ] } } } ] } } }, "propertyOrder": ["title", "_meta", "authors", "date", "description", "image", "tags", "readTime", "content"], "required": ["title", "authors", "date", "description", "image", "readTime", "content"] }