[+] Create json schema
This commit is contained in:
@@ -0,0 +1,238 @@
|
|||||||
|
{
|
||||||
|
"definitions": {},
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
|
"$id": "charlie-config.json",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Config for the gallery website",
|
||||||
|
"required": [
|
||||||
|
"title",
|
||||||
|
"footer",
|
||||||
|
"artwork",
|
||||||
|
"artworks"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"title": {
|
||||||
|
"$id": "#/properties/title",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Title of the website",
|
||||||
|
"required": [
|
||||||
|
"text",
|
||||||
|
"sub",
|
||||||
|
"height",
|
||||||
|
"background",
|
||||||
|
"dim",
|
||||||
|
"text_color",
|
||||||
|
"font"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"text": {
|
||||||
|
"$id": "#/properties/title/properties/text",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Title text",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"Charlie's Gallery"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"sub": {
|
||||||
|
"$id": "#/properties/title/properties/sub",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Subtitle text",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"This is a subtitle"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"height": {
|
||||||
|
"$id": "#/properties/title/properties/height",
|
||||||
|
"type": "integer",
|
||||||
|
"title": "Height in percentage",
|
||||||
|
"default": 0,
|
||||||
|
"examples": [
|
||||||
|
80
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"background": {
|
||||||
|
"$id": "#/properties/title/properties/background",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Background image / color",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"title.jpeg"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"dim": {
|
||||||
|
"$id": "#/properties/title/properties/dim",
|
||||||
|
"type": "integer",
|
||||||
|
"title": "Darken background by this percent",
|
||||||
|
"default": 0,
|
||||||
|
"examples": [
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"text_color": {
|
||||||
|
"$id": "#/properties/title/properties/text_color",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Text color (name / hex / rgb)",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"white"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"font": {
|
||||||
|
"$id": "#/properties/title/properties/font",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Font family",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"'Neucha', cursive"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"$id": "#/properties/footer",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Footer",
|
||||||
|
"required": [
|
||||||
|
"text",
|
||||||
|
"height",
|
||||||
|
"background"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"text": {
|
||||||
|
"$id": "#/properties/footer/properties/text",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Footer text",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"height": {
|
||||||
|
"$id": "#/properties/footer/properties/height",
|
||||||
|
"type": "integer",
|
||||||
|
"title": "Footer height in percentage",
|
||||||
|
"default": 0,
|
||||||
|
"examples": [
|
||||||
|
10
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"background": {
|
||||||
|
"$id": "#/properties/footer/properties/background",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Footer background color",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"lightgray"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artwork": {
|
||||||
|
"$id": "#/properties/artwork",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Global artwork property",
|
||||||
|
"required": [
|
||||||
|
"default_title",
|
||||||
|
"default_format",
|
||||||
|
"author"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"default_title": {
|
||||||
|
"$id": "#/properties/artwork/properties/default_title",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Default title when title is not defined",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"Untitled"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"default_format": {
|
||||||
|
"$id": "#/properties/artwork/properties/default_format",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Default format",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"jpg"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"author": {
|
||||||
|
"$id": "#/properties/artwork/properties/author",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Default Author",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"Charlie"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artworks": {
|
||||||
|
"$id": "#/properties/artworks",
|
||||||
|
"type": "array",
|
||||||
|
"title": "Artwork list",
|
||||||
|
"items": {
|
||||||
|
"$id": "#/properties/artworks/items",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Items",
|
||||||
|
"required": [
|
||||||
|
"date",
|
||||||
|
"title"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"date": {
|
||||||
|
"$id": "#/properties/artworks/items/properties/date",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Publish date",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"2019-10-05"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"$id": "#/properties/artworks/items/properties/title",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Title of the artwork",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"Vibrance"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"format": {
|
||||||
|
"$id": "#/properties/artworks/items/properties/format",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Format (file suffix)",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"png"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"$id": "#/properties/artworks/items/properties/description",
|
||||||
|
"type": "string",
|
||||||
|
"title": "Description",
|
||||||
|
"default": "",
|
||||||
|
"examples": [
|
||||||
|
"This is a picture"
|
||||||
|
],
|
||||||
|
"pattern": "^(.*)$"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user