final version & syntax of book json. Add schema
This commit is contained in:
parent
3f5c199b0f
commit
2aad9dacb9
5 changed files with 205 additions and 5 deletions
166
.vscode/bookdetails-schema.json
vendored
Normal file
166
.vscode/bookdetails-schema.json
vendored
Normal file
|
@ -0,0 +1,166 @@
|
|||
{
|
||||
"$id": "bookdetails-schema.json#",
|
||||
"default": {
|
||||
"code": "ID3xx",
|
||||
"title": "New book",
|
||||
"desc": ["Nice", "A *new* book"],
|
||||
"cover": {
|
||||
"src": "",
|
||||
"alt": ""
|
||||
}
|
||||
},
|
||||
|
||||
"properties": {
|
||||
"code": {
|
||||
"title": "Book code, follow the ID3xx pattern - Not used",
|
||||
"type": "string",
|
||||
"pattern": "^[A-Z0-9]{3}\\d{2}$"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"maxLength": 30
|
||||
},
|
||||
"author": {
|
||||
"title": "Book authors",
|
||||
"type": "array",
|
||||
"maxLength": 5,
|
||||
"items": {
|
||||
"title": "Author",
|
||||
"type": "string",
|
||||
"examples": ["Neil Gailman", "Team Agate"]
|
||||
},
|
||||
"examples": [["Team Agate"], ["Neil Gailman", "Rachida Dati"]]
|
||||
},
|
||||
"desc": {
|
||||
"title": "Book desc, markdown formated, each row is a paragraph.",
|
||||
"type": "array"
|
||||
},
|
||||
"cover": {
|
||||
"title": "Book cover",
|
||||
"type": "object",
|
||||
"required": ["src"],
|
||||
"properties": {
|
||||
"src": {
|
||||
"title": "Source file path, in relative path",
|
||||
"type": "string",
|
||||
"format": "uri-reference",
|
||||
"default": "",
|
||||
"examples": ["img\\books\\ADV01_BC_FR.png"]
|
||||
},
|
||||
"alt": {
|
||||
"type": "string",
|
||||
"examples": ["ADV01_BC_FR"]
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"examples": ["ADV01_BC_FR"]
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"src": "img\\books\\ADV01_BC_FR.png",
|
||||
"alt": "ADV01_BC_FR",
|
||||
"title": "ADV01_BC_FR"
|
||||
}
|
||||
]
|
||||
},
|
||||
"published-date": {
|
||||
"title": "The published-date Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": ["01/04/2018"]
|
||||
},
|
||||
"cf-date": {
|
||||
"title": "The cf-date Schema",
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"default": "",
|
||||
"examples": ["14/03/2016"]
|
||||
},
|
||||
"physical-link": {
|
||||
"title": "The physical-link Schema",
|
||||
"type": "object",
|
||||
"default": {},
|
||||
"required": ["title", "href"],
|
||||
"properties": {
|
||||
"title": {
|
||||
"title": "The title Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": ["Acheter un exemplaire"]
|
||||
},
|
||||
"href": {
|
||||
"title": "The href Schema",
|
||||
"type": "string",
|
||||
"format":"uri",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"https://www.philibertnet.com/fr/dragons/62090-dragons-1-aventuriers-livre-de-base-9782919256365.html"
|
||||
]
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"title": "Acheter un exemplaire",
|
||||
"href": "https://www.philibertnet.com/fr/dragons/62090-dragons-1-aventuriers-livre-de-base-9782919256365.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
"pdf-link": {
|
||||
"title": "The pdf-link Schema",
|
||||
"type": "object",
|
||||
"default": {},
|
||||
"required": ["title", "href"],
|
||||
"properties": {
|
||||
"title": {
|
||||
"title": "The title Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": ["Acheter le pdf"]
|
||||
},
|
||||
"href": {
|
||||
"title": "The href Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers"
|
||||
]
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"title": "Acheter le pdf",
|
||||
"href": "https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers"
|
||||
}
|
||||
]
|
||||
},
|
||||
"cf-link": {
|
||||
"title": "The cf-link Schema",
|
||||
"type": "object",
|
||||
"default": {},
|
||||
"required": ["title", "href"],
|
||||
"properties": {
|
||||
"title": {
|
||||
"title": "The title Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": ["Ulule"]
|
||||
},
|
||||
"href": {
|
||||
"title": "The href Schema",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": ["https://fr.ulule.com/dragons-5e/"]
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"title": "Ulule",
|
||||
"href": "https://fr.ulule.com/dragons-5e/"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": ["title", "desc", "cover"]
|
||||
}
|
12
.vscode/books-schemas.json
vendored
Normal file
12
.vscode/books-schemas.json
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^[A-Z0-9]{3}\\d{2}$": {
|
||||
"title": "Book code, follow the ID3xx pattern",
|
||||
"type": "object",
|
||||
"$ref": "bookdetails-schema.json#"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
|
@ -1,11 +1,16 @@
|
|||
{
|
||||
"json.schemas": [
|
||||
|
||||
{
|
||||
"fileMatch": [
|
||||
"data/spells/*.json"
|
||||
],
|
||||
"url": "/./.vscode/spells-schemas.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": [
|
||||
"data/books*.json"
|
||||
],
|
||||
"url": "/./.vscode/books-schemas.json"
|
||||
}
|
||||
],
|
||||
"stenography.apiKey": "caac2b35-1682-4741-a409-d687f69d9767",
|
||||
|
|
|
@ -12,7 +12,14 @@
|
|||
"title":"Acheter un exemplaire",
|
||||
"href":"https://www.philibertnet.com/fr/dragons/62090-dragons-1-aventuriers-livre-de-base-9782919256365.html"
|
||||
},
|
||||
"pdf-link": "https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers",
|
||||
"pdf-link":{
|
||||
"title":"Acheter le pdf",
|
||||
"href":"https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers"
|
||||
},
|
||||
"cf-link":{
|
||||
"title":"Ulule",
|
||||
"href":"https://fr.ulule.com/dragons-5e/"
|
||||
},
|
||||
"author": ["Agate Team"],
|
||||
"published-date": "01/04/2018",
|
||||
"cf-date": "14/03/2016",
|
|
@ -16,7 +16,7 @@
|
|||
"title":"Acheter le pdf",
|
||||
"href":"https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers"
|
||||
},
|
||||
"cf-link:":{
|
||||
"cf-link":{
|
||||
"title":"Ulule",
|
||||
"href":"https://fr.ulule.com/dragons-5e/"
|
||||
},
|
||||
|
@ -32,7 +32,7 @@
|
|||
"CRE02": {
|
||||
"code": "CRE02",
|
||||
"title": "Créatures : Inframonde",
|
||||
"desc": ["*"],
|
||||
"desc": [],
|
||||
"physical-link": {
|
||||
"title":"Acheter un exemplaire",
|
||||
"href":""
|
||||
|
@ -41,7 +41,7 @@
|
|||
"title":"Acheter le pdf",
|
||||
"href":"https://www.drivethrurpg.com/product/422893/Dragons--5--Bestiaire--Creatures-2-Inframonde"
|
||||
},
|
||||
"cf-link:":{
|
||||
"cf-link":{
|
||||
"title":"Ulule",
|
||||
"href":"https://fr.ulule.com/dragons-creatures-de-l-inframonde/"
|
||||
},
|
||||
|
@ -53,5 +53,15 @@
|
|||
"alt": "CRE02_BC_FR",
|
||||
"title": "CRE02_BC_FR"
|
||||
}
|
||||
},"ADV02":{
|
||||
"code": "ID3xx",
|
||||
"title": "New book",
|
||||
"desc": [
|
||||
"Nice",
|
||||
"A *new* book"
|
||||
],
|
||||
"cover": ""
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in a new issue