Updated JSON schema

This commit is contained in:
squidfunk 2022-01-29 19:14:23 +01:00
parent e7f1519308
commit 4fd791f3a0
7 changed files with 382 additions and 5 deletions

View File

@ -112,6 +112,9 @@
"markdown_extensions": {
"$ref": "schema/extensions.json"
},
"extra": {
"$ref": "schema/extra.json"
},
"nav": {
"$ref": "schema/nav.json"
}

261
docs/schema/extra.json Normal file
View File

@ -0,0 +1,261 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Extra configuration",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/",
"type": "object",
"properties": {
"homepage": {
"title": "Homepage link (when clicking on logo)",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-logo-and-icons/#logo",
"type": "string"
},
"analytics": {
"title": "Analytics provider",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"type": "object",
"properties": {
"provider": {
"title": "Analytics provider",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"oneOf": [
{
"enum": [
"google"
]
},
{
"type": "string"
}
]
},
"property": {
"oneOf": [
{
"title": "Google Analytics 4",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"pattern": "^G-\\w{10}$"
},
{
"title": "Universal Analytics",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"pattern": "^UA-\\w{8}-\\w$"
},
{
"title": "Unknown property",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
"type": "string"
}
]
},
"feedback": {
"title": "Was this page helpful?",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "object",
"properties": {
"title": {
"title": "Feedback widget title",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "string",
"default": "Was this page helpful?"
},
"ratings": {
"title": "Feedback rating",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
"type": "array",
"items": {
"type": "object",
"properties": {
"icon": {
"title": "Feedback rating icon",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-icon",
"type": "string"
},
"name": {
"title": "Feedback rating name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-name",
"type": "string"
},
"data": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-data",
"type": "number"
},
"note": {
"title": "Feedback rating data",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-note",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"icon",
"name",
"data",
"note"
]
}
}
},
"additionalProperties": false,
"required": [
"title"
]
}
},
"additionalProperties": false,
"required": [
"provider",
"property"
]
},
"consent": {
"title": "Cookie consent",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "object",
"properties": {
"title": {
"title": "Cookie consent title",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "string",
"default": "Cookie consent"
},
"description": {
"title": "Cookie consent description",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "string"
},
"cookies": {
"title": "Cookies",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "object",
"properties": {
"analytics": {
"title": "Cookie",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"oneOf": [
{
"type": "object",
"properties": {
"name": {
"title": "Cookie name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "string"
},
"checked": {
"title": "Initial state",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
"type": "boolean",
"default": true
}
},
"additionalProperties": false,
"required": [
"name"
]
},
{
"type": "string"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": [
"title",
"description"
]
},
"social": {
"title": "Social links",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-links",
"type": "array",
"items": {
"type": "object",
"properties": {
"icon": {
"title": "Social link icon",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-icon",
"type": "string"
},
"link": {
"title": "Social link",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-link",
"type": "string"
},
"name": {
"title": "Social link name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-name",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"icon",
"link"
]
}
},
"alternate": {
"title": "Site language selector",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language-selector",
"type": "array",
"items": {
"title": "Alternate language",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language-selector",
"type": "object",
"properties": {
"name": {
"title": "Alternate language name",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-name",
"type": "string"
},
"link": {
"title": "Alternate language link",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-link",
"type": "string"
},
"lang": {
"title": "Alternate language code (ISO 639-1)",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-lang",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"link",
"lang"
]
}
},
"version": {
"title": "Versioning",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning",
"type": "object",
"properties": {
"provider": {
"title": "Versioning provider",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning",
"enum": [
"mike"
]
},
"default": {
"title": "Default version",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#version-warning",
"default": "stable"
}
}
},
"generator": {
"title": "Generator notice",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#generator-notice",
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}

View File

@ -13,6 +13,12 @@
},
{
"$ref": "plugins/search.json"
},
{
"$ref": "plugins/social.json"
},
{
"$ref": "plugins/tags.json"
}
]
},

View File

@ -0,0 +1,64 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Built-in social plugin",
"oneOf": [
{
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/",
"enum": [
"social"
]
},
{
"type": "object",
"properties": {
"social": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/",
"type": "object",
"properties": {
"cards": {
"title": "Social card generation",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards",
"type": "boolean"
},
"cards_color": {
"title": "Social card color palette",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
"type": "object",
"properties": {
"fill": {
"title": "Background fill color",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
"type": "string"
},
"text": {
"title": "Foreground text color",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"fill",
"text"
]
},
"cards_font": {
"title": "Social card font",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-font",
"type": "string",
"default": "Roboto"
},
"cards_directory": {
"title": "Social card directory",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-directory",
"type": "string",
"default": "assets/images/social"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}

View File

@ -0,0 +1,31 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Built-in tags plugin",
"oneOf": [
{
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/",
"enum": [
"tags"
]
},
{
"type": "object",
"properties": {
"tags": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/",
"type": "object",
"properties": {
"tags_file": {
"title": "Markdown file to render tags index",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/#tags-file",
"pattern": "\\.md$",
"default": "tags.md"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}

View File

@ -364,7 +364,7 @@
"pattern": "\\.(ico|png|svg|jpe?g)$"
},
"logo": {
"title": "Logo (Image)",
"title": "Logo",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-logo-and-icons/#logo",
"pattern": "\\.(png|svg|jpe?g)$"
},
@ -374,10 +374,16 @@
"type": "object",
"properties": {
"logo": {
"title": "Logo (Icon)",
"title": "Logo icon",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-logo-and-icons/#logo",
"type": "string",
"default": "material/library"
},
"repo": {
"title": "Repository icon",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/#repository-icon",
"type": "string",
"default": "fontawesome/brands/git-alt"
}
}
},
@ -387,9 +393,16 @@
"type": "array",
"items": {
"oneOf": [
{
"title": "Mark as read",
"markdownDescription": "",
"enum": [
"announce.dismiss"
]
},
{
"title": "Code annotations",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/reference/code-blocks/#code-annotations",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-header/#mark-as-read",
"enum": [
"content.code.annotate"
]

View File

@ -87,8 +87,7 @@ theme:
# Plugins
plugins:
- search:
lang: en
- search
- redirects:
redirect_maps:
changelog/insiders.md: insiders/changelog.md