ci/woodpecker/pr/web-config Pipeline was successful
ci/woodpecker/pr/web-db Pipeline was successful
ci/woodpecker/pr/web-pieces Pipeline was successful
ci/woodpecker/pr/web-theme Pipeline was successful
ci/woodpecker/pr/web-worker Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/web-config Pipeline was successful
ci/woodpecker/push/web-db Pipeline was successful
ci/woodpecker/push/web-pieces Pipeline was successful
ci/woodpecker/push/web-theme Pipeline was successful
ci/woodpecker/push/web-worker Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
10410 lines
432 KiB
JSON
10410 lines
432 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Luzzle web configuration",
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"network": {
|
|
"default": {},
|
|
"description": "Internal service and development network settings.",
|
|
"type": "object",
|
|
"properties": {
|
|
"internal": {
|
|
"default": {},
|
|
"type": "object",
|
|
"properties": {
|
|
"explorer": {
|
|
"default": "http://luzzle-web:3000",
|
|
"description": "Explorer address used to allow its hostname in the development server.",
|
|
"type": "string"
|
|
},
|
|
"lsp": {
|
|
"default": "http://luzzle-lsp:9001",
|
|
"description": "Reserved LSP address. Proxy routing is configured separately with LUZZLE_PROXY_LSP_UPSTREAM.",
|
|
"type": "string"
|
|
},
|
|
"worker": {
|
|
"default": "http://luzzle-worker:9000",
|
|
"description": "Worker service address for health checks.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"public": {
|
|
"default": {},
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"default": "0.0.0.0",
|
|
"description": "Development server bind address, not the public site URL.",
|
|
"type": "string"
|
|
},
|
|
"hmr_port": {
|
|
"description": "Vite hot-reload client port, when different from the server port.",
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Public site and asset URLs.",
|
|
"type": "object",
|
|
"properties": {
|
|
"app": {
|
|
"default": "${LUZZLE_APP_URL:-http://localhost:8080}",
|
|
"description": "Public Explorer URL. Supports an explicit environment reference.",
|
|
"type": "string"
|
|
},
|
|
"app_assets": {
|
|
"default": "",
|
|
"description": "App-owned static asset URL prefix, such as icons and social images. Empty uses same-origin paths; a CDN URL is allowed. Framework JavaScript and CSS use same-origin build paths independently.",
|
|
"type": "string"
|
|
},
|
|
"luzzle_assets": {
|
|
"default": "",
|
|
"description": "Published piece asset base URL. Empty uses same-origin paths; a CDN URL is allowed.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"auth": {
|
|
"description": "Configure exactly one authentication provider and a session secret. Omit auth for a public-only site with admin access disabled.",
|
|
"anyOf": [
|
|
{
|
|
"title": "Credentials",
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"secret",
|
|
"credentials"
|
|
],
|
|
"properties": {
|
|
"secret": {
|
|
"minLength": 1,
|
|
"description": "Session-signing secret. Supply a strong random value or an explicit environment reference; required whenever auth is configured.",
|
|
"examples": [
|
|
"${LUZZLE_AUTH_SECRET}"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"credentials": {
|
|
"additionalProperties": false,
|
|
"description": "Local username/password authentication.",
|
|
"type": "object",
|
|
"required": [
|
|
"username",
|
|
"password"
|
|
],
|
|
"properties": {
|
|
"username": {
|
|
"minLength": 1,
|
|
"description": "Administrator username.",
|
|
"examples": [
|
|
"admin"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"minLength": 1,
|
|
"description": "Administrator password or an explicit environment reference.",
|
|
"examples": [
|
|
"${LUZZLE_AUTH_PASSWORD}"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"title": "OIDC",
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"secret",
|
|
"oidc"
|
|
],
|
|
"properties": {
|
|
"secret": {
|
|
"minLength": 1,
|
|
"description": "Session-signing secret. Supply a strong random value or an explicit environment reference; required whenever auth is configured.",
|
|
"examples": [
|
|
"${LUZZLE_AUTH_SECRET}"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"oidc": {
|
|
"additionalProperties": false,
|
|
"description": "OpenID Connect authentication.",
|
|
"type": "object",
|
|
"required": [
|
|
"issuer",
|
|
"clientId",
|
|
"clientSecret"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"default": "Single Sign-On",
|
|
"description": "Label shown on the sign-in button.",
|
|
"type": "string"
|
|
},
|
|
"issuer": {
|
|
"minLength": 1,
|
|
"description": "OIDC issuer URL or an explicit environment reference.",
|
|
"examples": [
|
|
"https://identity.example.com",
|
|
"${OIDC_ISSUER}"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"clientId": {
|
|
"minLength": 1,
|
|
"description": "OIDC client identifier.",
|
|
"type": "string"
|
|
},
|
|
"clientSecret": {
|
|
"minLength": 1,
|
|
"description": "OIDC client secret or an explicit environment reference.",
|
|
"examples": [
|
|
"${OIDC_CLIENT_SECRET}"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"storage": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"root": {
|
|
"minLength": 1,
|
|
"default": "./archive",
|
|
"description": "Local Markdown archive directory.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"sync": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"default": "/app/rclone/rclone.conf",
|
|
"description": "rclone configuration file used by the worker.",
|
|
"type": "string"
|
|
},
|
|
"archive": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Bidirectional archive synchronization using rclone bisync.",
|
|
"type": "object",
|
|
"properties": {
|
|
"remote": {
|
|
"default": "",
|
|
"description": "rclone remote name, not an s3:// URL. Empty remote or path skips archive synchronization.",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"default": "",
|
|
"description": "Remote archive path, combined with the remote name as remote:path.",
|
|
"type": "string"
|
|
},
|
|
"flags": {
|
|
"default": [],
|
|
"description": "Additional rclone arguments, one argument per array entry.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"cdn": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Publish generated assets to a remote destination.",
|
|
"type": "object",
|
|
"properties": {
|
|
"remote": {
|
|
"default": "",
|
|
"description": "rclone remote name. Empty remote or path skips CDN synchronization.",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"default": "",
|
|
"description": "Remote published-assets path, combined as remote:path.",
|
|
"type": "string"
|
|
},
|
|
"flags": {
|
|
"default": [],
|
|
"description": "Additional rclone arguments, one argument per array entry.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"strategy": {
|
|
"default": "sync",
|
|
"description": "sync deletes destination-only files; copy does not.",
|
|
"anyOf": [
|
|
{
|
|
"const": "sync",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "copy",
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"worker": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"queue": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"default": "./data/sidequest.sqlite",
|
|
"description": "Workflow queue database path. The legacy sidequest.sqlite filename is mapped to openworkflow.sqlite by the application.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ai": {
|
|
"additionalProperties": false,
|
|
"description": "AI generation settings. Omit ai to disable generation; both provider and api_key must be supplied when configured.",
|
|
"type": "object",
|
|
"required": [
|
|
"provider",
|
|
"api_key"
|
|
],
|
|
"properties": {
|
|
"provider": {
|
|
"description": "Generation provider. Google is currently the supported provider; this field is required.",
|
|
"const": "google",
|
|
"type": "string"
|
|
},
|
|
"api_key": {
|
|
"minLength": 1,
|
|
"description": "Provider API key or an explicit environment reference.",
|
|
"examples": [
|
|
"${GOOGLE_API_KEY}"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"paths": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"default": "./data/luzzle.sqlite",
|
|
"description": "SQLite index path, resolved relative to the config directory.",
|
|
"type": "string"
|
|
},
|
|
"assets": {
|
|
"default": "./assets/pieces",
|
|
"description": "Generated piece assets directory. Worker generation uses its working directory for relative paths.",
|
|
"type": "string"
|
|
},
|
|
"cache": {
|
|
"default": "./nginx",
|
|
"description": "Proxy cache directory.",
|
|
"type": "string"
|
|
},
|
|
"static": {
|
|
"default": "./static",
|
|
"description": "Static render assets directory.",
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"description": "Runtime metadata: loadConfig records the supplied config filename here.",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"assets": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"salt": {
|
|
"default": "${LUZZLE_ASSET_SALT:-}",
|
|
"description": "Salt for generated asset keys. Changing it changes published asset URLs.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"content": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"fonts": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"sans": {
|
|
"minLength": 1,
|
|
"pattern": "(?:^(?!\\s*(?:[a-zA-Z][a-zA-Z0-9+.-]*:|//))(?!.*://)(?!.*[\\u0000-\\u001f\\u007f-\\u009f?#]).*[^/]\\.(?:[wW][oO][fF][fF]2)$)|\\$\\{[^}:]+(?::-[^}]*)?\\}",
|
|
"description": "Local sans font filename (WOFF2), absolute or relative to the supplied config file. Supports explicit environment references. Omit to retain theme.globals.font-sans-url.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"images": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"favicon": {
|
|
"minLength": 1,
|
|
"pattern": "(?:^(?!\\s*(?:[a-zA-Z][a-zA-Z0-9+.-]*:|//))(?!.*://)(?!.*[\\u0000-\\u001f\\u007f-\\u009f?#]).*[^/]\\.(?:[pP][nN][gG]|[sS][vV][gG]|[iI][cC][oO])$)|\\$\\{[^}:]+(?::-[^}]*)?\\}",
|
|
"description": "Built-in static favicon by default; otherwise a local filename (PNG, SVG or ICO), absolute or relative to the supplied config file. Supports explicit environment references.",
|
|
"type": "string",
|
|
"default": "/images/favicon.png"
|
|
},
|
|
"opengraph": {
|
|
"minLength": 1,
|
|
"pattern": "(?:^(?!\\s*(?:[a-zA-Z][a-zA-Z0-9+.-]*:|//))(?!.*://)(?!.*[\\u0000-\\u001f\\u007f-\\u009f?#]).*[^/]\\.(?:[pP][nN][gG]|[jJ][pP][gG]|[jJ][pP][eE][gG]|[wW][eE][bB][pP]|[gG][iI][fF])$)|\\$\\{[^}:]+(?::-[^}]*)?\\}",
|
|
"description": "Built-in static site Open Graph image by default; otherwise a local filename (PNG, JPEG, WebP or GIF), absolute or relative to the supplied config file. Supports explicit environment references.",
|
|
"type": "string",
|
|
"default": "/images/opengraph.png"
|
|
}
|
|
}
|
|
},
|
|
"text": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"default": "Luzzle Explorer",
|
|
"description": "Site title.",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"default": "A Luzzle Explorer instance",
|
|
"description": "Site description.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pages": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"home": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"minLength": 1,
|
|
"description": "Markdown file replacing the home introduction, relative to the supplied config file.",
|
|
"type": "string"
|
|
},
|
|
"latest": {
|
|
"default": true,
|
|
"description": "Show the latest published pieces.",
|
|
"type": "boolean"
|
|
},
|
|
"random": {
|
|
"default": false,
|
|
"description": "Show a random selection of published pieces.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"feed": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"about": {
|
|
"minLength": 1,
|
|
"description": "Markdown file for the feed explanation card. Omit to hide the card.",
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"default": true,
|
|
"description": "Show feed format links and subscription copy controls.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Independent error presentations: 404 takes precedence over remaining 4xx; 500 presents all 5xx without changing the actual status.",
|
|
"type": "object",
|
|
"properties": {
|
|
"404": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"minLength": 1,
|
|
"description": "Markdown file replacing the error body, relative to the supplied config file.",
|
|
"type": "string"
|
|
},
|
|
"home": {
|
|
"default": true,
|
|
"description": "Show a link back to the home page.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"minLength": 1,
|
|
"description": "Markdown file replacing the error body, relative to the supplied config file.",
|
|
"type": "string"
|
|
},
|
|
"home": {
|
|
"default": true,
|
|
"description": "Show a link back to the home page.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"4xx": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"minLength": 1,
|
|
"description": "Markdown file replacing the error body, relative to the supplied config file.",
|
|
"type": "string"
|
|
},
|
|
"home": {
|
|
"default": true,
|
|
"description": "Show a link back to the home page.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pieces": {
|
|
"default": [],
|
|
"description": "Ordered presentation and frontmatter mappings for archive piece types.",
|
|
"type": "array",
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"type",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "Archive piece type associated with this presentation.",
|
|
"examples": [
|
|
"books"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"title",
|
|
"date_consumed"
|
|
],
|
|
"properties": {
|
|
"media": {
|
|
"description": "Frontmatter selectors for media assets.",
|
|
"examples": [
|
|
[
|
|
"cover"
|
|
]
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": {
|
|
"description": "Frontmatter selector for the title, not a literal display title.",
|
|
"examples": [
|
|
"title"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"summary": {
|
|
"description": "Frontmatter selector for a summary.",
|
|
"examples": [
|
|
"description"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"date_consumed": {
|
|
"description": "Frontmatter selector for the consumed/read/viewed date.",
|
|
"examples": [
|
|
"date_read"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"tags": {
|
|
"description": "Frontmatter selector for tags.",
|
|
"examples": [
|
|
"keywords"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"attachments": {
|
|
"description": "Frontmatter selectors for attachments.",
|
|
"examples": [
|
|
[
|
|
"files[*].file"
|
|
]
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"highlight": {
|
|
"description": "Frontmatter selectors for published attachments to highlight as code or text. Omit to disable attachment highlighting.",
|
|
"examples": [
|
|
[
|
|
"files[*].file"
|
|
]
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"templates": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"default": {
|
|
"name": "default"
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "The default piece icon: a poster image with a title fallback.",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"default": "default",
|
|
"const": "default",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-default-image",
|
|
"description": "Image asset key displayed as the poster.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A three-dimensional book cover and spine with page-count thickness.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "book",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-book-image",
|
|
"description": "Book cover image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"author": {
|
|
"$id": "icon-book-author",
|
|
"description": "Author text displayed on the spine.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pages": {
|
|
"$id": "icon-book-pages",
|
|
"description": "Page count used to calculate spine thickness.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A browser window with address-bar text, an optional banner, title and summary.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "browser-window",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-browser-window-image",
|
|
"description": "Article banner image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-browser-window-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-browser-window-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "icon-browser-window-url",
|
|
"description": "Address-bar display text; defaults to the piece URL.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-browser-window-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-browser-window-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A dark terminal showing the first snippet asset highlight, or the piece summary.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "code-snippet",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"$id": "icon-code-snippet-files",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-code-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-code-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A ruled, three-hole sheet displaying the normalized piece title and summary.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "lined-notebook-paper",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A fan of playing cards using the piece title, normalized tags and palette.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "playing-cards",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A poster image with a title fallback, maintained independently from the default icon.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "poster",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-poster-image",
|
|
"description": "Image asset key displayed as the poster.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-poster-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-poster-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A recipe card with an ingredient checklist and ring-binding cutouts.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "recipe-card",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-recipe-card-image",
|
|
"description": "Recipe image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-recipe-card-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-recipe-card-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ingredients": {
|
|
"$id": "icon-recipe-card-ingredients",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-recipe-card-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-recipe-card-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A video-game cartridge with a title and optional label image.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "video-game-cartridge",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-video-game-cartridge-image",
|
|
"description": "Cartridge label image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-video-game-cartridge-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-video-game-cartridge-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A grooved vinyl record with label artwork or a title fallback.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "vinyl-record",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "icon-vinyl-record-image",
|
|
"description": "Record label image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-vinyl-record-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "icon-vinyl-record-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"page": {
|
|
"default": {
|
|
"name": "default"
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "An independent poster-style default piece page.",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"default": "default",
|
|
"const": "default",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-default-image",
|
|
"description": "Poster image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"backdrop": {
|
|
"$id": "page-default-backdrop",
|
|
"description": "Backdrop image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateReleased": {
|
|
"$id": "page-default-dateReleased",
|
|
"description": "Release date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"runtime": {
|
|
"$id": "page-default-runtime",
|
|
"description": "Duration in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-default-url",
|
|
"description": "External link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isbn": {
|
|
"$id": "page-default-isbn",
|
|
"description": "ISBN used for an Open Library link when no URL is supplied.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"category": {
|
|
"$id": "page-default-category",
|
|
"description": "Display category, independent of the archive piece type.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-category"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-category"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"people": {
|
|
"$id": "page-default-people",
|
|
"description": "People as names or mapped objects with a name field.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-people"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-default-people"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "An article page with a browser preview, reading-time byline, notes and publication details.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "article",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-article-image",
|
|
"description": "Article banner image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-article-url",
|
|
"description": "External article link and browser address text.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"author": {
|
|
"$id": "page-article-author",
|
|
"description": "Author text displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"wordCount": {
|
|
"$id": "page-article-wordCount",
|
|
"description": "Word count used to estimate reading time.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-wordCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-wordCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"datePublished": {
|
|
"$id": "page-article-datePublished",
|
|
"description": "Publication date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isActive": {
|
|
"$id": "page-article-isActive",
|
|
"description": "Whether the article link is still active.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-isActive"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-isActive"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isPaywalled": {
|
|
"$id": "page-article-isPaywalled",
|
|
"description": "Whether the article requires a subscription.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-isPaywalled"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-article-isPaywalled"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A book page with author/page-count byline, notes, publication details and cover.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "book",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-book-image",
|
|
"description": "Cover image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"author": {
|
|
"$id": "page-book-author",
|
|
"description": "Author text displayed in the byline and cover spine.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pages": {
|
|
"$id": "page-book-pages",
|
|
"description": "Page count displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"publicationYear": {
|
|
"$id": "page-book-publicationYear",
|
|
"description": "Year displayed under Published.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-publicationYear"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-publicationYear"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-book-url",
|
|
"description": "External link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isbn": {
|
|
"$id": "page-book-isbn",
|
|
"description": "ISBN used for an Open Library link when no URL is supplied.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-book-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A film page with poster, year/runtime byline, notes, people and backdrop, independent of the default page.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "film",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-film-image",
|
|
"description": "Poster image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"backdrop": {
|
|
"$id": "page-film-backdrop",
|
|
"description": "Backdrop image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateReleased": {
|
|
"$id": "page-film-dateReleased",
|
|
"description": "Release date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"runtime": {
|
|
"$id": "page-film-runtime",
|
|
"description": "Duration in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-film-url",
|
|
"description": "External link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isbn": {
|
|
"$id": "page-film-isbn",
|
|
"description": "ISBN used for an Open Library link when no URL is supplied.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"category": {
|
|
"$id": "page-film-category",
|
|
"description": "Display category, independent of the archive piece type.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-category"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-category"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"people": {
|
|
"$id": "page-film-people",
|
|
"description": "People as names or mapped objects with a name field.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-people"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-film-people"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A music page with vinyl artwork, track details, notes and service links.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "music",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-music-image",
|
|
"description": "Cover art and vinyl label image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"artist": {
|
|
"$id": "page-music-artist",
|
|
"description": "Artist displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-artist"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-artist"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"durationSeconds": {
|
|
"$id": "page-music-durationSeconds",
|
|
"description": "Track duration in seconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-durationSeconds"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-durationSeconds"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"album": {
|
|
"$id": "page-music-album",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-album"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-album"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateReleased": {
|
|
"$id": "page-music-dateReleased",
|
|
"description": "Release date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"language": {
|
|
"$id": "page-music-language",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-language"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-language"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"collaborators": {
|
|
"$id": "page-music-collaborators",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-collaborators"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-collaborators"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-music-url",
|
|
"description": "External source URL.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"youtubeId": {
|
|
"$id": "page-music-youtubeId",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-youtubeId"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-youtubeId"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"spotifyId": {
|
|
"$id": "page-music-spotifyId",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-spotifyId"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-spotifyId"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"appleMusicUrl": {
|
|
"$id": "page-music-appleMusicUrl",
|
|
"description": "Apple Music URL.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-appleMusicUrl"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-appleMusicUrl"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isrc": {
|
|
"$id": "page-music-isrc",
|
|
"description": "ISRC identifier (map legacy iscr metadata here).",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-isrc"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-music-isrc"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A text-first note page with a title, reading time, date and tags.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "note",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A recipe page with notes, ingredient checkboxes, instructions, timings and photo.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "recipe",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-recipe-image",
|
|
"description": "Recipe photo asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-recipe-url",
|
|
"description": "External recipe source link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ingredients": {
|
|
"$id": "page-recipe-ingredients",
|
|
"description": "Ordered ingredient checklist.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"instructions": {
|
|
"$id": "page-recipe-instructions",
|
|
"description": "Ordered steps: authored HTML strings, explicit HTML objects, or escaped text objects.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-instructions"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-instructions"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"prepMinutes": {
|
|
"$id": "page-recipe-prepMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-prepMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-prepMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"cookMinutes": {
|
|
"$id": "page-recipe-cookMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-cookMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-cookMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"totalMinutes": {
|
|
"$id": "page-recipe-totalMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-totalMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-totalMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateUpdated": {
|
|
"$id": "page-recipe-dateUpdated",
|
|
"description": "Update date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-dateUpdated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-recipe-dateUpdated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A code snippet page with generated syntax highlighting and attachment downloads.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "snippet",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"$id": "page-snippet-files",
|
|
"description": "Ordered files, supporting structured each/fields mappings.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateUpdated": {
|
|
"$id": "page-snippet-dateUpdated",
|
|
"description": "Last updated date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-snippet-dateUpdated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-snippet-dateUpdated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A tabletop-game page with a playing-card hero, minutes byline, player count, notes and cover.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "tabletop-game",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-tabletop-game-image",
|
|
"description": "Cover image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-tabletop-game-url",
|
|
"description": "External link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isbn": {
|
|
"$id": "page-tabletop-game-isbn",
|
|
"description": "ISBN used for an Open Library link when no URL is supplied.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"publisher": {
|
|
"$id": "page-tabletop-game-publisher",
|
|
"description": "Publisher name.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"datePublished": {
|
|
"$id": "page-tabletop-game-datePublished",
|
|
"description": "Publication date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"playTimeMinutes": {
|
|
"$id": "page-tabletop-game-playTimeMinutes",
|
|
"description": "Play time in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"playerCount": {
|
|
"$id": "page-tabletop-game-playerCount",
|
|
"description": "Number of players.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-playerCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-tabletop-game-playerCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A video-game page with a cartridge hero, platform and hours byline, notes and cover.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "video-game",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "page-video-game-image",
|
|
"description": "Cover image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "page-video-game-url",
|
|
"description": "External link.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"isbn": {
|
|
"$id": "page-video-game-isbn",
|
|
"description": "ISBN used for an Open Library link when no URL is supplied.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-isbn"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"publisher": {
|
|
"$id": "page-video-game-publisher",
|
|
"description": "Publisher name.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"datePublished": {
|
|
"$id": "page-video-game-datePublished",
|
|
"description": "Publication date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-datePublished"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"playTimeMinutes": {
|
|
"$id": "page-video-game-playTimeMinutes",
|
|
"description": "Play time in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"platform": {
|
|
"$id": "page-video-game-platform",
|
|
"description": "Platform displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-platform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "page-video-game-platform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"opengraph": {
|
|
"default": {
|
|
"name": "default"
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "An independent poster-style default share card.",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"default": "default",
|
|
"const": "default",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-default-image",
|
|
"description": "Poster image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"backdrop": {
|
|
"$id": "opengraph-default-backdrop",
|
|
"description": "Backdrop image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"director": {
|
|
"$id": "opengraph-default-director",
|
|
"description": "Director text displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-director"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-director"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateReleased": {
|
|
"$id": "opengraph-default-dateReleased",
|
|
"description": "Release date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"runtime": {
|
|
"$id": "opengraph-default-runtime",
|
|
"description": "Duration in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-default-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A book cover and pages beside its title and author, with a page-count/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "book",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-book-image",
|
|
"description": "Book cover image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"author": {
|
|
"$id": "opengraph-book-author",
|
|
"description": "Author displayed below the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pages": {
|
|
"$id": "opengraph-book-pages",
|
|
"description": "Page count displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-book-pages"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A browser-window mockup beside the title and author, with a hostname/reading-time/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "browser-window",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-browser-window-image",
|
|
"description": "Webpage banner image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"$id": "opengraph-browser-window-url",
|
|
"description": "URL displayed in the browser address bar.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-url"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"author": {
|
|
"$id": "opengraph-browser-window-author",
|
|
"description": "Author displayed below the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-author"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"wordCount": {
|
|
"$id": "opengraph-browser-window-wordCount",
|
|
"description": "Word count used to estimate reading time.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-wordCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-browser-window-wordCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A dark terminal displaying generated code highlighting or a summary, with a formats/file-count/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "code-snippet",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"$id": "opengraph-code-snippet-files",
|
|
"description": "Source files in display order.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-code-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-code-snippet-files"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A lined notebook sheet on a dark backdrop, using the piece title, summary, note reading time and date.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "lined-notebook-paper",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "Fanned playing cards using the title, summary and a deterministic symbol, with a publisher and play-time/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "playing-cards",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"backdrop": {
|
|
"$id": "opengraph-playing-cards-backdrop",
|
|
"description": "Background image asset key behind the playing cards.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"publisher": {
|
|
"$id": "opengraph-playing-cards-publisher",
|
|
"description": "Publisher displayed below the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"playTimeMinutes": {
|
|
"$id": "opengraph-playing-cards-playTimeMinutes",
|
|
"description": "Play time in minutes, displayed without conversion to hours.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-playing-cards-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A poster and optional backdrop beside the title/credits, independent of the default card.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "poster",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-poster-image",
|
|
"description": "Poster image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"backdrop": {
|
|
"$id": "opengraph-poster-backdrop",
|
|
"description": "Backdrop image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"director": {
|
|
"$id": "opengraph-poster-director",
|
|
"description": "Director text displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-director"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-director"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"dateReleased": {
|
|
"$id": "opengraph-poster-dateReleased",
|
|
"description": "Release date as text or epoch milliseconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-dateReleased"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"runtime": {
|
|
"$id": "opengraph-poster-runtime",
|
|
"description": "Duration in minutes.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-poster-runtime"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "An ingredient checklist and optional photo backdrop beside the recipe title/source.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "recipe-card",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-recipe-card-image",
|
|
"description": "Recipe backdrop image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"$id": "opengraph-recipe-card-source",
|
|
"description": "Source label displayed under the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-source"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-source"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ingredients": {
|
|
"$id": "opengraph-recipe-card-ingredients",
|
|
"description": "Ordered ingredient names displayed on the checklist.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-ingredients"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"prepMinutes": {
|
|
"$id": "opengraph-recipe-card-prepMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-prepMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-prepMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"cookMinutes": {
|
|
"$id": "opengraph-recipe-card-cookMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-cookMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-cookMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"totalMinutes": {
|
|
"$id": "opengraph-recipe-card-totalMinutes",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-totalMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-recipe-card-totalMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A video game cartridge beside its title and publisher, with a platform/play-time/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "video-game-cartridge",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-video-game-cartridge-image",
|
|
"description": "Image asset key for the cartridge label; also the backdrop when no backdrop is mapped.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"publisher": {
|
|
"$id": "opengraph-video-game-cartridge-publisher",
|
|
"description": "Publisher displayed below the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-publisher"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"platform": {
|
|
"$id": "opengraph-video-game-cartridge-platform",
|
|
"description": "Platform displayed in the byline.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-platform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-platform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"playTimeMinutes": {
|
|
"$id": "opengraph-video-game-cartridge-playTimeMinutes",
|
|
"description": "Play time in minutes, displayed as rounded whole hours.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-playTimeMinutes"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"backdrop": {
|
|
"$id": "opengraph-video-game-cartridge-backdrop",
|
|
"description": "Independent background image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-video-game-cartridge-backdrop"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "A vinyl record beside its title and artist, with a duration/date byline.",
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"const": "vinyl-record",
|
|
"type": "string"
|
|
},
|
|
"mapping": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"$id": "opengraph-vinyl-record-image",
|
|
"description": "Vinyl label image asset key.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-image"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"artist": {
|
|
"$id": "opengraph-vinyl-record-artist",
|
|
"description": "Artist displayed below the title.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-artist"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-artist"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"durationSeconds": {
|
|
"$id": "opengraph-vinyl-record-durationSeconds",
|
|
"description": "Duration in seconds, displayed as minutes and seconds.",
|
|
"anyOf": [
|
|
{
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"field"
|
|
],
|
|
"properties": {
|
|
"field": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"default": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"value": {}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-durationSeconds"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"each",
|
|
"fields"
|
|
],
|
|
"properties": {
|
|
"each": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"fields": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(.*)$": {
|
|
"$ref": "opengraph-vinyl-record-durationSeconds"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"theme": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Theme overrides. Omit any defaulted tokens you do not need to customize.",
|
|
"type": "object",
|
|
"properties": {
|
|
"light": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Light palette CSS color values; hex, rgb, hsl and other CSS color syntax are supported.",
|
|
"type": "object",
|
|
"properties": {
|
|
"color-primary": {
|
|
"default": "#0d6efd",
|
|
"type": "string"
|
|
},
|
|
"color-on-primary": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-primary-container": {
|
|
"default": "#cfe2ff",
|
|
"type": "string"
|
|
},
|
|
"color-on-primary-container": {
|
|
"default": "#084298",
|
|
"type": "string"
|
|
},
|
|
"color-secondary": {
|
|
"default": "#6c757d",
|
|
"type": "string"
|
|
},
|
|
"color-on-secondary": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-secondary-container": {
|
|
"default": "#d3d3d4",
|
|
"type": "string"
|
|
},
|
|
"color-on-secondary-container": {
|
|
"default": "#41464b",
|
|
"type": "string"
|
|
},
|
|
"color-tertiary": {
|
|
"default": "#6c757d",
|
|
"type": "string"
|
|
},
|
|
"color-on-tertiary": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-tertiary-container": {
|
|
"default": "#d3d3d4",
|
|
"type": "string"
|
|
},
|
|
"color-on-tertiary-container": {
|
|
"default": "#41464b",
|
|
"type": "string"
|
|
},
|
|
"color-error": {
|
|
"default": "#dc3545",
|
|
"type": "string"
|
|
},
|
|
"color-on-error": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-error-container": {
|
|
"default": "#f8d7da",
|
|
"type": "string"
|
|
},
|
|
"color-on-error-container": {
|
|
"default": "#842029",
|
|
"type": "string"
|
|
},
|
|
"color-surface": {
|
|
"default": "#f8f9fa",
|
|
"type": "string"
|
|
},
|
|
"color-surface-dim": {
|
|
"default": "#e9ecef",
|
|
"type": "string"
|
|
},
|
|
"color-surface-bright": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-surface-inverse": {
|
|
"default": "#212529",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface": {
|
|
"default": "#212529",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface-variant": {
|
|
"default": "#495057",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface-inverse": {
|
|
"default": "#f8f9fa",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-lowest": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-low": {
|
|
"default": "#f8f9fa",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container": {
|
|
"default": "#f4f6f8",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-high": {
|
|
"default": "#f0f2f5",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-highest": {
|
|
"default": "#eceff3",
|
|
"type": "string"
|
|
},
|
|
"color-shadow": {
|
|
"default": "hsla(0, 0%, 0%, 0.15)",
|
|
"type": "string"
|
|
},
|
|
"color-outline": {
|
|
"default": "#6c757d",
|
|
"type": "string"
|
|
},
|
|
"color-outline-variant": {
|
|
"default": "#ced4da",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"dark": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Dark palette CSS color values.",
|
|
"type": "object",
|
|
"properties": {
|
|
"color-primary": {
|
|
"default": "#3b82f6",
|
|
"type": "string"
|
|
},
|
|
"color-on-primary": {
|
|
"default": "#ffffff",
|
|
"type": "string"
|
|
},
|
|
"color-primary-container": {
|
|
"default": "#0d6efd",
|
|
"type": "string"
|
|
},
|
|
"color-on-primary-container": {
|
|
"default": "#cfe2ff",
|
|
"type": "string"
|
|
},
|
|
"color-secondary": {
|
|
"default": "#adb5bd",
|
|
"type": "string"
|
|
},
|
|
"color-on-secondary": {
|
|
"default": "#212529",
|
|
"type": "string"
|
|
},
|
|
"color-secondary-container": {
|
|
"default": "#495057",
|
|
"type": "string"
|
|
},
|
|
"color-on-secondary-container": {
|
|
"default": "#d3d3d4",
|
|
"type": "string"
|
|
},
|
|
"color-tertiary": {
|
|
"default": "#adb5bd",
|
|
"type": "string"
|
|
},
|
|
"color-on-tertiary": {
|
|
"default": "#212529",
|
|
"type": "string"
|
|
},
|
|
"color-tertiary-container": {
|
|
"default": "#495057",
|
|
"type": "string"
|
|
},
|
|
"color-on-tertiary-container": {
|
|
"default": "#d3d3d4",
|
|
"type": "string"
|
|
},
|
|
"color-error": {
|
|
"default": "#f87171",
|
|
"type": "string"
|
|
},
|
|
"color-on-error": {
|
|
"default": "#4f0b0b",
|
|
"type": "string"
|
|
},
|
|
"color-error-container": {
|
|
"default": "#dc3545",
|
|
"type": "string"
|
|
},
|
|
"color-on-error-container": {
|
|
"default": "#f8d7da",
|
|
"type": "string"
|
|
},
|
|
"color-surface": {
|
|
"default": "#121212",
|
|
"type": "string"
|
|
},
|
|
"color-surface-dim": {
|
|
"default": "#1f1f1f",
|
|
"type": "string"
|
|
},
|
|
"color-surface-bright": {
|
|
"default": "#333333",
|
|
"type": "string"
|
|
},
|
|
"color-surface-inverse": {
|
|
"default": "#e9ecef",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface": {
|
|
"default": "#e9ecef",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface-variant": {
|
|
"default": "#adb5bd",
|
|
"type": "string"
|
|
},
|
|
"color-on-surface-inverse": {
|
|
"default": "#121212",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-lowest": {
|
|
"default": "#1f1f1f",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-low": {
|
|
"default": "#333333",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container": {
|
|
"default": "#4f4f4f",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-high": {
|
|
"default": "#666666",
|
|
"type": "string"
|
|
},
|
|
"color-surface-container-highest": {
|
|
"default": "#7f7f7f",
|
|
"type": "string"
|
|
},
|
|
"color-shadow": {
|
|
"default": "hsla(0, 0%, 0%, 0.5)",
|
|
"type": "string"
|
|
},
|
|
"color-outline": {
|
|
"default": "#6c757d",
|
|
"type": "string"
|
|
},
|
|
"color-outline-variant": {
|
|
"default": "#495057",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"globals": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "Global CSS tokens. Sizes, spacing and radii are CSS-length strings unless a field explicitly uses a number.",
|
|
"type": "object",
|
|
"properties": {
|
|
"shadow-raised": {
|
|
"default": "0px 3px 1px -2px rgba(251 241 199 / 20%), 0px 2px 2px 0px rgba(251 241 199 / 14%), 0px 1px 5px 0px rgba(0 0 0 / 12%)",
|
|
"type": "string"
|
|
},
|
|
"font-mono-name": {
|
|
"default": "\"monaco, monospace\"",
|
|
"description": "CSS font-family value for monospace text.",
|
|
"type": "string"
|
|
},
|
|
"font-sans-name": {
|
|
"default": "\"Noto Sans\"",
|
|
"description": "CSS font-family value for sans-serif text.",
|
|
"type": "string"
|
|
},
|
|
"font-sans-url": {
|
|
"default": "\"/fonts/noto-sans.woff2\"",
|
|
"description": "CSS-quoted font URL.",
|
|
"type": "string"
|
|
},
|
|
"font-sans-weight": {
|
|
"default": "300 600",
|
|
"description": "Font-face weight or variable font weight range.",
|
|
"type": "string"
|
|
},
|
|
"font-size-xxs": {
|
|
"default": "0.7rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-xs": {
|
|
"default": "0.825rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-small": {
|
|
"default": "1rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-normal": {
|
|
"default": "1.25rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-medium": {
|
|
"default": "1.5rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-large": {
|
|
"default": "1.75rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-xl": {
|
|
"default": "2rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-xxl": {
|
|
"default": "2.25rem",
|
|
"type": "string"
|
|
},
|
|
"font-size-mobile-responsive-factor": {
|
|
"default": 0.8,
|
|
"description": "Mobile font-size multiplier.",
|
|
"type": "number"
|
|
},
|
|
"font-size-root": {
|
|
"default": 22,
|
|
"description": "Root font size in pixels.",
|
|
"type": "number"
|
|
},
|
|
"font-weight-light": {
|
|
"default": 300,
|
|
"type": "number"
|
|
},
|
|
"font-weight-normal": {
|
|
"default": 400,
|
|
"type": "number"
|
|
},
|
|
"font-weight-medium": {
|
|
"default": 500,
|
|
"type": "number"
|
|
},
|
|
"font-weight-semibold": {
|
|
"default": 550,
|
|
"type": "number"
|
|
},
|
|
"font-weight-bold": {
|
|
"default": 600,
|
|
"type": "number"
|
|
},
|
|
"radius-none": {
|
|
"default": "0",
|
|
"type": "string"
|
|
},
|
|
"radius-small": {
|
|
"default": "0.25rem",
|
|
"type": "string"
|
|
},
|
|
"radius-medium": {
|
|
"default": "0.375rem",
|
|
"type": "string"
|
|
},
|
|
"radius-large": {
|
|
"default": "0.5rem",
|
|
"type": "string"
|
|
},
|
|
"radius-xl": {
|
|
"default": "0.75rem",
|
|
"type": "string"
|
|
},
|
|
"radius-x2l": {
|
|
"default": "1rem",
|
|
"type": "string"
|
|
},
|
|
"radius-x3l": {
|
|
"default": "1.5rem",
|
|
"type": "string"
|
|
},
|
|
"radius-x4l": {
|
|
"default": "2.5rem",
|
|
"type": "string"
|
|
},
|
|
"radius-full": {
|
|
"default": "9999px",
|
|
"type": "string"
|
|
},
|
|
"breakpoint-phone": {
|
|
"default": 640,
|
|
"description": "Phone breakpoint in pixels.",
|
|
"type": "number"
|
|
},
|
|
"breakpoint-tablet": {
|
|
"default": 768,
|
|
"description": "Tablet breakpoint in pixels.",
|
|
"type": "number"
|
|
},
|
|
"breakpoint-laptop": {
|
|
"default": 1024,
|
|
"description": "Laptop breakpoint in pixels.",
|
|
"type": "number"
|
|
},
|
|
"breakpoint-desktop": {
|
|
"default": 1280,
|
|
"description": "Desktop breakpoint in pixels.",
|
|
"type": "number"
|
|
},
|
|
"space-1": {
|
|
"default": "0.25rem",
|
|
"type": "string"
|
|
},
|
|
"space-2": {
|
|
"default": "0.5rem",
|
|
"type": "string"
|
|
},
|
|
"space-3": {
|
|
"default": "0.75rem",
|
|
"type": "string"
|
|
},
|
|
"space-4": {
|
|
"default": "1rem",
|
|
"type": "string"
|
|
},
|
|
"space-5": {
|
|
"default": "1.25rem",
|
|
"type": "string"
|
|
},
|
|
"space-6": {
|
|
"default": "1.5rem",
|
|
"type": "string"
|
|
},
|
|
"space-7": {
|
|
"default": "1.75rem",
|
|
"type": "string"
|
|
},
|
|
"space-8": {
|
|
"default": "2rem",
|
|
"type": "string"
|
|
},
|
|
"space-9": {
|
|
"default": "2.25rem",
|
|
"type": "string"
|
|
},
|
|
"space-10": {
|
|
"default": "2.5rem",
|
|
"type": "string"
|
|
},
|
|
"space-0-5": {
|
|
"default": "0.125rem",
|
|
"type": "string"
|
|
},
|
|
"space-1-5": {
|
|
"default": "0.375rem",
|
|
"type": "string"
|
|
},
|
|
"space-2-5": {
|
|
"default": "0.625rem",
|
|
"type": "string"
|
|
},
|
|
"space-3-5": {
|
|
"default": "0.875rem",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"markdown": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"sidenote": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"description": "CSS content values for sidenotes; include CSS string quotes inside the YAML value.",
|
|
"type": "object",
|
|
"properties": {
|
|
"sidenote-callout-before-content": {
|
|
"default": "\"[ \"",
|
|
"type": "string"
|
|
},
|
|
"sidenote-callout-after-content": {
|
|
"default": "\" ]\"",
|
|
"type": "string"
|
|
},
|
|
"sidenote-citation-before-content": {
|
|
"default": "\"\"",
|
|
"type": "string"
|
|
},
|
|
"sidenote-citation-after-content": {
|
|
"default": "\":\"",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"code": {
|
|
"default": {},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"properties": {
|
|
"light": {
|
|
"default": "github-light",
|
|
"description": "Shiki theme for light-mode code blocks and both editors.",
|
|
"anyOf": [
|
|
{
|
|
"const": "andromeeda",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "aurora-x",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "ayu-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-frappe",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-latte",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-macchiato",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-mocha",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dark-plus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dracula",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dracula-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "everforest-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "everforest-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-default",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-dimmed",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-high-contrast",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light-default",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light-high-contrast",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-hard",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-medium",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-hard",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-medium",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "houston",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-dragon",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-lotus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-wave",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "laserwave",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "light-plus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-darker",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-lighter",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-ocean",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-palenight",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "min-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "min-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "monokai",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "night-owl",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "nord",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "one-dark-pro",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "one-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "plastic",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "poimandres",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "red",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine-dawn",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine-moon",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "slack-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "slack-ochin",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "snazzy-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "solarized-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "solarized-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "synthwave-84",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "tokyo-night",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vesper",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-black",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-light",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"dark": {
|
|
"default": "github-dark",
|
|
"description": "Shiki theme for dark-mode code blocks and both editors.",
|
|
"anyOf": [
|
|
{
|
|
"const": "andromeeda",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "aurora-x",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "ayu-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-frappe",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-latte",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-macchiato",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "catppuccin-mocha",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dark-plus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dracula",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "dracula-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "everforest-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "everforest-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-default",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-dimmed",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-dark-high-contrast",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light-default",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "github-light-high-contrast",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-hard",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-medium",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-dark-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-hard",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-medium",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "gruvbox-light-soft",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "houston",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-dragon",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-lotus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "kanagawa-wave",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "laserwave",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "light-plus",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-darker",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-lighter",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-ocean",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "material-theme-palenight",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "min-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "min-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "monokai",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "night-owl",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "nord",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "one-dark-pro",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "one-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "plastic",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "poimandres",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "red",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine-dawn",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "rose-pine-moon",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "slack-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "slack-ochin",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "snazzy-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "solarized-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "solarized-light",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "synthwave-84",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "tokyo-night",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vesper",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-black",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-dark",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"const": "vitesse-light",
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|