Added JSON schema

This commit is contained in:
squidfunk 2022-01-29 16:12:25 +01:00
parent bcba266bfb
commit 8a1e52aa4a
7 changed files with 1476 additions and 0 deletions

41
docs/schema.json Normal file
View File

@ -0,0 +1,41 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Material for MkDocs",
"markdownDescription": "Configuration syntax",
"type": "object",
"properties": {
"site_name": {
"title": "Site name set in header, title and drawer",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#site_name",
"type": "string"
},
"site_url": {
"title": "Site URL",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#site_url",
"type": "string"
},
"site_author": {
"title": "Site author, set as meta tag",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#site_author",
"type": "string"
},
"site_description": {
"title": "Site description, set as meta tag and in social cards",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#site_description",
"type": "string"
},
"theme": {
"$ref": "schema/theme.json"
},
"plugins": {
"$ref": "schema/plugins.json"
},
"markdown_extensions": {
"$ref": "schema/extensions.json"
}
},
"additionalProperties": false,
"required": [
"site_name"
]
}

669
docs/schema/extensions.json Normal file
View File

@ -0,0 +1,669 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Markdown extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/",
"type": "array",
"items": {
"oneOf": [
{
"title": "Abbreviations Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#abbreviations",
"enum": [
"abbr"
]
},
{
"title": "Admonition Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#admonition",
"enum": [
"admonition"
]
},
{
"title": "Attribute Lists Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#attribute-lists",
"enum": [
"attr_list"
]
},
{
"title": "Definition Lists Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#definition-lists",
"enum": [
"def_list"
]
},
{
"title": "Footnotes Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#footnotes",
"enum": [
"footnotes"
]
},
{
"title": "Metadata Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#metadata",
"enum": [
"meta"
]
},
{
"title": "Markdown in HTML Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#markdown-in-html",
"enum": [
"md_in_html"
]
},
{
"title": "Tables Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#tables",
"enum": [
"tables"
]
},
{
"oneOf": [
{
"title": "Table Of Contents Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#table-of-contents",
"enum": [
"toc"
]
},
{
"type": "object",
"properties": {
"toc": {
"title": "Table Of Contents Python Markdown",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#table-of-contents",
"type": "object",
"properties": {
"title": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-title",
"type": "string"
},
"permalink": {
"oneOf": [
{
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-permalink",
"type": "boolean"
},
{
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-permalink",
"type": "string"
}
]
},
"permalink_title": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-permalink-title",
"type": "string"
},
"slugify": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-slugify",
"type": "string"
},
"toc_depth": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/#toc-depth",
"enum": [
0,
1,
2,
3,
4,
5,
6
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "Arithmatex Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#arithmatex",
"enum": [
"pymdownx.arithmatex"
]
},
{
"type": "object",
"properties": {
"pymdownx.arithmatex": {
"title": "Arithmatex Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#arithmatex",
"type": "object",
"properties": {
"generic": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "BetterEm Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#betterem",
"enum": [
"pymdownx.betterem"
]
},
{
"type": "object",
"properties": {
"pymdownx.betterem": {
"title": "BetterEm Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#betterem",
"type": "object",
"properties": {
"smart_enable": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/betterem/#options",
"enum": [
"all",
"asterisk",
"underscore",
"none"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "Caret Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"enum": [
"pymdownx.caret"
]
},
{
"type": "object",
"properties": {
"pymdownx.caret": {
"title": "Caret Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"type": "object",
"properties": {
"smart_insert": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/caret/#options",
"type": "boolean"
},
"insert": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/caret/#options",
"type": "boolean"
},
"superscript": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/caret/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "Critic Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#critic",
"enum": [
"pymdownx.critic"
]
},
{
"type": "object",
"properties": {
"pymdownx.critic": {
"title": "Critic Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#critic",
"type": "object",
"properties": {
"mode": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#critic-mode",
"enum": [
"view",
"accept",
"reject"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"title": "Details Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#details",
"enum": [
"pymdownx.details"
]
},
{
"type": "object",
"properties": {
"pymdownx.emoji": {
"title": "Emoji Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#emoji",
"type": "object",
"properties": {
"emoji_generator": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#options",
"type": "string"
},
"emoji_index": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#options",
"type": "string"
},
"options": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#custom-icons",
"type": "object",
"properties": {
"custom_icons": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#custom-icons",
"type": "array",
"items": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#custom-icons",
"type": "string"
},
"uniqueItems": true,
"minItems": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": [
"emoji_generator",
"emoji_index"
]
}
},
"additionalProperties": false
},
{
"oneOf": [
{
"title": "Highlight Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight",
"enum": [
"pymdownx.highlight"
]
},
{
"type": "object",
"properties": {
"pymdownx.highlight": {
"title": "Highlight Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight",
"type": "object",
"properties": {
"use_pygments": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight-use-pygments",
"type": "boolean"
},
"auto_title": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight-auto-title",
"type": "boolean"
},
"auto_title_map": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/highlight/#options",
"type": "object"
},
"linenums": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight-linenums",
"type": "boolean"
},
"linenums_style": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight-linenums-style",
"enum": [
"inline",
"pymdownx-inline",
"table"
]
},
"anchor_linenums": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight-anchor-linenums",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"title": "InlineHilite Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#inlinehilite",
"enum": [
"pymdownx.inlinehilite"
]
},
{
"title": "Keys Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#keys",
"enum": [
"pymdownx.keys"
]
},
{
"type": "object",
"properties": {
"pymdownx.magiclink": {
"title": "MagicLink Python Markdown Extensions",
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/magiclink/",
"type": "object",
"properties": {
"user": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/magiclink/#options",
"type": "string"
},
"repo": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/magiclink/#options",
"type": "string"
},
"repo_url_shorthand": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/magiclink/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"oneOf": [
{
"title": "˘ark Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"enum": [
"pymdownx.mark"
]
},
{
"type": "object",
"properties": {
"pymdownx.mark": {
"title": "˘ark Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"type": "object",
"properties": {
"smart_mark": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "SmartSymbols Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#smartsymbols",
"enum": [
"pymdownx.smartsymbols"
]
},
{
"type": "object",
"properties": {
"pymdownx.smartsymbols": {
"title": "SmartSymbols Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#smartsymbols",
"type": "object",
"properties": {
"smart_mark": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"trademark": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"copyright": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"registered": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"care_of": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"plusminus": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"arrows": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"notequal": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"fractions": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
},
"ordinal_numbers": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/mark/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "Snippets Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#snippets",
"enum": [
"pymdownx.snippets"
]
},
{
"type": "object",
"properties": {
"pymdownx.snippets": {
"title": "Snippets Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#snippets",
"type": "object",
"properties": {
"base_path": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/snippets/#options",
"type": "string"
},
"auto_append": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/snippets/#options",
"type": "array",
"items": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/snippets/#options",
"type": "string"
},
"uniqueItems": true,
"minItems": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"oneOf": [
{
"title": "SuperFences Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences",
"enum": [
"pymdownx.superfences"
]
},
{
"type": "object",
"properties": {
"pymdownx.superfences": {
"title": "SuperFences Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences",
"type": "object",
"properties": {
"custom_fences": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences-custom-fences",
"type": "array",
"items": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences-custom-fences",
"type": "object",
"properties": {
"name": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/superfences/#custom-fences",
"type": "string"
},
"class": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/superfences/#custom-fences",
"type": "string"
},
"format": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/superfences/#custom-fences",
"type": "string"
}
},
"additionalProperties": false
},
"minItems": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
{
"type": "object",
"properties": {
"pymdownx.tabbed": {
"title": "Tabbed Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#tabbed",
"type": "object",
"properties": {
"alternate_style": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#tabbed-alternate-style",
"enum": [
true
]
}
},
"additionalProperties": false,
"required": [
"alternate_style"
]
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"pymdownx.tasklist": {
"title": "Tasklist Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#tasklist",
"type": "object",
"properties": {
"custom_checkbox": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#tasklist-custom-checkbox",
"type": "boolean"
},
"clickable_checkbox": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#tasklist-clickable-checkbox",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"oneOf": [
{
"title": "Tilde Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"enum": [
"pymdownx.tilde"
]
},
{
"type": "object",
"properties": {
"pymdownx.tilde": {
"title": "Tilde Python Markdown Extensions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#caret-mark-tilde",
"type": "object",
"properties": {
"smart_delete": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/tilde/#options",
"type": "boolean"
},
"delete": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/tilde/#options",
"type": "boolean"
},
"subscript": {
"markdownDescription": "https://facelessuser.github.io/pymdown-extensions/extensions/tilde/#options",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
]
},
"uniqueItems": true,
"minItems": 1
}

21
docs/schema/plugins.json Normal file
View File

@ -0,0 +1,21 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Plugins",
"markdownDescription": "https://www.mkdocs.org/dev-guide/plugins/",
"type": "array",
"items": {
"oneOf": [
{
"$ref": "plugins/minify.json"
},
{
"$ref": "plugins/redirects.json"
},
{
"$ref": "plugins/search.json"
}
]
},
"uniqueItems": true,
"minItems": 1
}

View File

@ -0,0 +1,60 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Minify plugin",
"description": "Configuration syntax",
"type": "object",
"properties": {
"minify": {
"markdownDescription": "https://github.com/byrnereese/mkdocs-minify-plugin",
"type": "object",
"dependencies": {
"minify_js": [
"js_files"
],
"minify_css": [
"css_files"
]
},
"properties": {
"minify_html": {
"description": "Minify HTML files",
"type": "boolean"
},
"minify_js": {
"description": "Minify JS files",
"type": "boolean"
},
"minify_css": {
"description": "Minify CSS files",
"type": "boolean"
},
"htmlmin_opts": {
"description": "Options for HTML minifier",
"type": "object"
},
"js_files": {
"description": "List of JS files to minify",
"type": "array",
"items": {
"description": "JS file to minify",
"pattern": "\\.js$"
},
"uniqueItems": true,
"minItems": 1
},
"css_files": {
"description": "List of CSS files to minify",
"type": "array",
"items": {
"description": "CSS file to minify",
"pattern": "\\.css$"
},
"uniqueItems": true,
"minItems": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Redirects plugin",
"description": "Configuration syntax",
"type": "object",
"properties": {
"redirects": {
"markdownDescription": "https://github.com/datarobot/mkdocs-redirects",
"type": "object",
"properties": {
"redirect_maps": {
"description": "Internal and external redirects",
"type": "object",
"patternProperties": {
"\\.md$": {
"oneOf": [
{
"description": "Internal redirect",
"type": "string",
"pattern": "\\.md$"
},
{
"description": "External redirect",
"type": "string",
"pattern": "^https?:"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}

View File

@ -0,0 +1,165 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Built-in search plugin",
"description": "Configuration syntax",
"oneOf": [
{
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/",
"enum": [
"search"
]
},
{
"type": "object",
"properties": {
"search": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/",
"type": "object",
"properties": {
"lang": {
"oneOf": [
{ "$ref": "#/definitions/lang" },
{
"type": "array",
"items": {
"$ref": "#/definitions/lang"
},
"uniqueItems": true,
"minItems": 1
}
]
},
"separator": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-separator",
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
],
"definitions": {
"lang": {
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-lang",
"oneOf": [
{
"description": "Arabic",
"enum": [
"ar"
]
},
{
"description": "Danish",
"enum": [
"da"
]
},
{
"description": "German",
"enum": [
"de"
]
},
{
"description": "Dutch",
"enum": [
"du"
]
},
{
"description": "English",
"enum": [
"en"
]
},
{
"description": "Spanish",
"enum": [
"es"
]
},
{
"description": "Finnish",
"enum": [
"fi"
]
},
{
"description": "French",
"enum": [
"fr"
]
},
{
"description": "Hungarian",
"enum": [
"hu"
]
},
{
"description": "Italian",
"enum": [
"it"
]
},
{
"description": "Japanese",
"enum": [
"ja"
]
},
{
"description": "Norwegian",
"enum": [
"no"
]
},
{
"description": "Portuguese",
"enum": [
"pt"
]
},
{
"description": "Romanian",
"enum": [
"ro"
]
},
{
"description": "Russian",
"enum": [
"ru"
]
},
{
"description": "Swedish",
"enum": [
"sv"
]
},
{
"description": "Thai",
"enum": [
"th"
]
},
{
"description": "Turkish",
"enum": [
"tr"
]
},
{
"description": "Vietnamese",
"enum": [
"vi"
]
}
]
}
}
}

483
docs/schema/theme.json Normal file
View File

@ -0,0 +1,483 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Theme configuration",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/",
"type": "object",
"properties": {
"name": {
"title": "Theme name",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#name",
"oneOf": [
{
"enum": [
"material"
]
},
{
"type": "null"
}
]
},
"custom_dir": {
"title": "Directory with theme overrides",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/customization/#setup-and-theme-structure",
"type": "string"
},
"static_templates": {
"title": "Static templates to render",
"markdownDescription": "https://www.mkdocs.org/user-guide/configuration/#static_templates",
"type": "array",
"items": {
"pattern": "\\.html$"
},
"uniqueItems": true,
"minItems": 1
},
"language": {
"title": "Site language",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/",
"oneOf": [
{
"title": "Site language: Afrikaans",
"enum": [
"af"
]
},
{
"title": "Site language: Arabic",
"enum": [
"ar"
]
},
{
"title": "Site language: Bulgarian",
"enum": [
"bg"
]
},
{
"title": "Site language: Bengali (Bangla)",
"enum": [
"bn"
]
},
{
"title": "Site language: Catalan",
"enum": [
"ca"
]
},
{
"title": "Site language: Czech",
"enum": [
"cs"
]
},
{
"title": "Site language: Danish",
"enum": [
"da"
]
},
{
"title": "Site language: German",
"enum": [
"de"
]
},
{
"title": "Site language: Greek",
"enum": [
"el"
]
},
{
"title": "Site language: English",
"enum": [
"en"
]
},
{
"title": "Site language: Esperanto",
"enum": [
"eo"
]
},
{
"title": "Site language: Spanish",
"enum": [
"es"
]
},
{
"title": "Site language: Estonian",
"enum": [
"et"
]
},
{
"title": "Site language: Persian (Farsi)",
"enum": [
"fa"
]
},
{
"title": "Site language: Finnish",
"enum": [
"fi"
]
},
{
"title": "Site language: French",
"enum": [
"fr"
]
},
{
"title": "Site language: Galician",
"enum": [
"gl"
]
},
{
"title": "Site language: Hebrew",
"enum": [
"he"
]
},
{
"title": "Site language: Hindi",
"enum": [
"hi"
]
},
{
"title": "Site language: Croatian",
"enum": [
"hr"
]
},
{
"title": "Site language: Hungarian",
"enum": [
"hu"
]
},
{
"title": "Site language: Indonesian",
"enum": [
"id"
]
},
{
"title": "Site language: Icelandic",
"enum": [
"is"
]
},
{
"title": "Site language: Italian",
"enum": [
"it"
]
},
{
"title": "Site language: Japanese",
"enum": [
"ja"
]
},
{
"title": "Site language: Georgian",
"enum": [
"ka"
]
},
{
"title": "Site language: Korean",
"enum": [
"kr"
]
},
{
"title": "Site language: Latvian",
"enum": [
"lv"
]
},
{
"title": "Site language: Mongolian",
"enum": [
"mn"
]
},
{
"title": "Site language: Bahasa Malaysia",
"enum": [
"ms"
]
},
{
"title": "Site language: Burmese",
"enum": [
"my"
]
},
{
"title": "Site language: Dutch",
"enum": [
"nl"
]
},
{
"title": "Site language: Norwegian (Nynorsk)",
"enum": [
"nn"
]
},
{
"title": "Site language: Norwegian",
"enum": [
"no"
]
},
{
"title": "Site language: Polish",
"enum": [
"pl"
]
},
{
"title": "Site language: Portuguese",
"enum": [
"pt"
]
},
{
"title": "Site language: Romanian",
"enum": [
"ro"
]
},
{
"title": "Site language: Russian",
"enum": [
"ru"
]
},
{
"title": "Site language: Serbo-Croatian",
"enum": [
"sh"
]
},
{
"title": "Site language: Sinhalese",
"enum": [
"si"
]
},
{
"title": "Site language: Slovak",
"enum": [
"sk"
]
},
{
"title": "Site language: Slovenian",
"enum": [
"sl"
]
},
{
"title": "Site language: Serbian",
"enum": [
"sr"
]
},
{
"title": "Site language: Swedish",
"enum": [
"sv"
]
},
{
"title": "Site language: Thai",
"enum": [
"th"
]
},
{
"title": "Site language: Turkish",
"enum": [
"tr"
]
},
{
"title": "Site language: Ukrainian",
"enum": [
"uk"
]
},
{
"title": "Site language: Vietnamese",
"enum": [
"vi"
]
},
{
"title": "Site language: Chinese (Simplified)",
"enum": [
"zh"
]
},
{
"title": "Site language: Chinese (Traditional)",
"enum": [
"zh-Hant"
]
},
{
"title": "Site language: Chinese (Taiwanese)",
"enum": [
"zh-TW"
]
}
]
},
"features": {
"title": "Feature flags",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/",
"type": "array",
"items": {
"oneOf": [
{
"title": "Code annotations",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/reference/code-blocks/#code-annotations",
"enum": [
"content.code.annotate"
]
},
{
"title": "Linked content tabs",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/reference/content-tabs/#linked-content-tabs",
"enum": [
"content.tabs.link"
]
},
{
"title": "Header hides automatically when scrolling",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-header/#automatic-hiding",
"enum": [
"header.autohide"
]
},
{
"title": "Navigation expansion",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-expansion",
"enum": [
"navigation.expand"
]
},
{
"title": "Section index pages",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#section-index-pages",
"enum": [
"navigation.indexes"
]
},
{
"title": "Instant loading",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#instant-loading",
"enum": [
"navigation.instant"
]
},
{
"title": "Navigation sections",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-sections",
"enum": [
"navigation.sections"
]
},
{
"title": "Navigation tabs",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-tabs",
"enum": [
"navigation.tabs"
]
},
{
"title": "Sticky navigation tabs",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#sticky-navigation-tabs",
"enum": [
"navigation.tabs.sticky"
]
},
{
"title": "Back-to-top button",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#back-to-top-button",
"enum": [
"navigation.top"
]
},
{
"title": "Anchor tracking",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#anchor-tracking",
"enum": [
"navigation.tracking"
]
},
{
"title": "Search higlighting",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-highlighting",
"enum": [
"search.highlight"
]
},
{
"title": "Search sharing",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-sharing",
"enum": [
"search.share"
]
},
{
"title": "Search suggestions",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-suggestions",
"enum": [
"search.suggest"
]
},
{
"title": "Integrated table of contents",
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#integrated-table-of-contents",
"enum": [
"toc.integrate"
]
}
]
},
"uniqueItems": true,
"minItems": 1
},
"include_search_page": {
"title": "Only necessary when installing from git",
"markdownDescription": "Must be set to `false`",
"enum": [
false
]
},
"search_index_only": {
"title": "Only necessary when installing from git",
"markdownDescription": "Must be set to `false`",
"enum": [
true
]
}
},
"additionalProperties": false,
"required": [
"name"
]
}