Skip to content

Commit

Permalink
Updated JSON schema
Browse files Browse the repository at this point in the history
  • Loading branch information
squidfunk committed Jan 29, 2022
1 parent e7f1519 commit 4fd791f
Show file tree
Hide file tree
Showing 7 changed files with 382 additions and 5 deletions.
3 changes: 3 additions & 0 deletions docs/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@
"markdown_extensions": {
"$ref": "schema/extensions.json"
},
"extra": {
"$ref": "schema/extra.json"
},
"nav": {
"$ref": "schema/nav.json"
}
Expand Down
261 changes: 261 additions & 0 deletions docs/schema/extra.json
Original file line number Diff line number Diff line change
@@ -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
}
6 changes: 6 additions & 0 deletions docs/schema/plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
},
{
"$ref": "plugins/search.json"
},
{
"$ref": "plugins/social.json"
},
{
"$ref": "plugins/tags.json"
}
]
},
Expand Down
64 changes: 64 additions & 0 deletions docs/schema/plugins/social.json
Original file line number Diff line number Diff line change
@@ -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
}
]
}
31 changes: 31 additions & 0 deletions docs/schema/plugins/tags.json
Original file line number Diff line number Diff line change
@@ -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
}
]
}
Loading

0 comments on commit 4fd791f

Please sign in to comment.