Skip to content

Commit 4fd791f

Browse files
committed
Updated JSON schema
1 parent e7f1519 commit 4fd791f

File tree

7 files changed

+382
-5
lines changed

7 files changed

+382
-5
lines changed

docs/schema.json

+3
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@
112112
"markdown_extensions": {
113113
"$ref": "schema/extensions.json"
114114
},
115+
"extra": {
116+
"$ref": "schema/extra.json"
117+
},
115118
"nav": {
116119
"$ref": "schema/nav.json"
117120
}

docs/schema/extra.json

+261
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
{
2+
"$schema": "https://json-schema.org/draft-07/schema",
3+
"title": "Extra configuration",
4+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/",
5+
"type": "object",
6+
"properties": {
7+
"homepage": {
8+
"title": "Homepage link (when clicking on logo)",
9+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-logo-and-icons/#logo",
10+
"type": "string"
11+
},
12+
"analytics": {
13+
"title": "Analytics provider",
14+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
15+
"type": "object",
16+
"properties": {
17+
"provider": {
18+
"title": "Analytics provider",
19+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
20+
"oneOf": [
21+
{
22+
"enum": [
23+
"google"
24+
]
25+
},
26+
{
27+
"type": "string"
28+
}
29+
]
30+
},
31+
"property": {
32+
"oneOf": [
33+
{
34+
"title": "Google Analytics 4",
35+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
36+
"pattern": "^G-\\w{10}$"
37+
},
38+
{
39+
"title": "Universal Analytics",
40+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
41+
"pattern": "^UA-\\w{8}-\\w$"
42+
},
43+
{
44+
"title": "Unknown property",
45+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#google-analytics",
46+
"type": "string"
47+
}
48+
]
49+
},
50+
"feedback": {
51+
"title": "Was this page helpful?",
52+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
53+
"type": "object",
54+
"properties": {
55+
"title": {
56+
"title": "Feedback widget title",
57+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
58+
"type": "string",
59+
"default": "Was this page helpful?"
60+
},
61+
"ratings": {
62+
"title": "Feedback rating",
63+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#was-this-page-helpful",
64+
"type": "array",
65+
"items": {
66+
"type": "object",
67+
"properties": {
68+
"icon": {
69+
"title": "Feedback rating icon",
70+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-icon",
71+
"type": "string"
72+
},
73+
"name": {
74+
"title": "Feedback rating name",
75+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-name",
76+
"type": "string"
77+
},
78+
"data": {
79+
"title": "Feedback rating data",
80+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-data",
81+
"type": "number"
82+
},
83+
"note": {
84+
"title": "Feedback rating data",
85+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#feedback-rating-note",
86+
"type": "string"
87+
}
88+
},
89+
"additionalProperties": false,
90+
"required": [
91+
"icon",
92+
"name",
93+
"data",
94+
"note"
95+
]
96+
}
97+
}
98+
},
99+
"additionalProperties": false,
100+
"required": [
101+
"title"
102+
]
103+
}
104+
},
105+
"additionalProperties": false,
106+
"required": [
107+
"provider",
108+
"property"
109+
]
110+
},
111+
"consent": {
112+
"title": "Cookie consent",
113+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
114+
"type": "object",
115+
"properties": {
116+
"title": {
117+
"title": "Cookie consent title",
118+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
119+
"type": "string",
120+
"default": "Cookie consent"
121+
},
122+
"description": {
123+
"title": "Cookie consent description",
124+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
125+
"type": "string"
126+
},
127+
"cookies": {
128+
"title": "Cookies",
129+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
130+
"type": "object",
131+
"properties": {
132+
"analytics": {
133+
"title": "Cookie",
134+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
135+
"oneOf": [
136+
{
137+
"type": "object",
138+
"properties": {
139+
"name": {
140+
"title": "Cookie name",
141+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
142+
"type": "string"
143+
},
144+
"checked": {
145+
"title": "Initial state",
146+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/#cookie-consent",
147+
"type": "boolean",
148+
"default": true
149+
}
150+
},
151+
"additionalProperties": false,
152+
"required": [
153+
"name"
154+
]
155+
},
156+
{
157+
"type": "string"
158+
}
159+
]
160+
}
161+
},
162+
"additionalProperties": false
163+
}
164+
},
165+
"additionalProperties": false,
166+
"required": [
167+
"title",
168+
"description"
169+
]
170+
},
171+
"social": {
172+
"title": "Social links",
173+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-links",
174+
"type": "array",
175+
"items": {
176+
"type": "object",
177+
"properties": {
178+
"icon": {
179+
"title": "Social link icon",
180+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-icon",
181+
"type": "string"
182+
},
183+
"link": {
184+
"title": "Social link",
185+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-link",
186+
"type": "string"
187+
},
188+
"name": {
189+
"title": "Social link name",
190+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#social-name",
191+
"type": "string"
192+
}
193+
},
194+
"additionalProperties": false,
195+
"required": [
196+
"icon",
197+
"link"
198+
]
199+
}
200+
},
201+
"alternate": {
202+
"title": "Site language selector",
203+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language-selector",
204+
"type": "array",
205+
"items": {
206+
"title": "Alternate language",
207+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language-selector",
208+
"type": "object",
209+
"properties": {
210+
"name": {
211+
"title": "Alternate language name",
212+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-name",
213+
"type": "string"
214+
},
215+
"link": {
216+
"title": "Alternate language link",
217+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-link",
218+
"type": "string"
219+
},
220+
"lang": {
221+
"title": "Alternate language code (ISO 639-1)",
222+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#language-lang",
223+
"type": "string"
224+
}
225+
},
226+
"additionalProperties": false,
227+
"required": [
228+
"name",
229+
"link",
230+
"lang"
231+
]
232+
}
233+
},
234+
"version": {
235+
"title": "Versioning",
236+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning",
237+
"type": "object",
238+
"properties": {
239+
"provider": {
240+
"title": "Versioning provider",
241+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning",
242+
"enum": [
243+
"mike"
244+
]
245+
},
246+
"default": {
247+
"title": "Default version",
248+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#version-warning",
249+
"default": "stable"
250+
}
251+
}
252+
},
253+
"generator": {
254+
"title": "Generator notice",
255+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-the-footer/#generator-notice",
256+
"type": "boolean",
257+
"default": true
258+
}
259+
},
260+
"additionalProperties": false
261+
}

docs/schema/plugins.json

+6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
},
1414
{
1515
"$ref": "plugins/search.json"
16+
},
17+
{
18+
"$ref": "plugins/social.json"
19+
},
20+
{
21+
"$ref": "plugins/tags.json"
1622
}
1723
]
1824
},

docs/schema/plugins/social.json

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"$schema": "https://json-schema.org/draft-07/schema",
3+
"title": "Built-in social plugin",
4+
"oneOf": [
5+
{
6+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/",
7+
"enum": [
8+
"social"
9+
]
10+
},
11+
{
12+
"type": "object",
13+
"properties": {
14+
"social": {
15+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/",
16+
"type": "object",
17+
"properties": {
18+
"cards": {
19+
"title": "Social card generation",
20+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards",
21+
"type": "boolean"
22+
},
23+
"cards_color": {
24+
"title": "Social card color palette",
25+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
26+
"type": "object",
27+
"properties": {
28+
"fill": {
29+
"title": "Background fill color",
30+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
31+
"type": "string"
32+
},
33+
"text": {
34+
"title": "Foreground text color",
35+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-color",
36+
"type": "string"
37+
}
38+
},
39+
"additionalProperties": false,
40+
"required": [
41+
"fill",
42+
"text"
43+
]
44+
},
45+
"cards_font": {
46+
"title": "Social card font",
47+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-font",
48+
"type": "string",
49+
"default": "Roboto"
50+
},
51+
"cards_directory": {
52+
"title": "Social card directory",
53+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#cards-directory",
54+
"type": "string",
55+
"default": "assets/images/social"
56+
}
57+
},
58+
"additionalProperties": false
59+
}
60+
},
61+
"additionalProperties": false
62+
}
63+
]
64+
}

docs/schema/plugins/tags.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"$schema": "https://json-schema.org/draft-07/schema",
3+
"title": "Built-in tags plugin",
4+
"oneOf": [
5+
{
6+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/",
7+
"enum": [
8+
"tags"
9+
]
10+
},
11+
{
12+
"type": "object",
13+
"properties": {
14+
"tags": {
15+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/",
16+
"type": "object",
17+
"properties": {
18+
"tags_file": {
19+
"title": "Markdown file to render tags index",
20+
"markdownDescription": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-tags/#tags-file",
21+
"pattern": "\\.md$",
22+
"default": "tags.md"
23+
}
24+
},
25+
"additionalProperties": false
26+
}
27+
},
28+
"additionalProperties": false
29+
}
30+
]
31+
}

0 commit comments

Comments
 (0)