Skip to content

Commit 86eddc6

Browse files
authored
Add sidebar schema file
2 parents 9ae7e7b + d173d46 commit 86eddc6

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

sidebar.schema.json

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
{
2+
"$comment": "This is a JSON schema for the Salmon sidebar file format copied from https://github.com/deephaven/salmon/blob/main/tools/validator/sidebar.schema.json to make it publically usable.",
3+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4+
"title": "Salmon Sidebar File",
5+
"type": "object",
6+
"properties": {
7+
"$schema": {
8+
"type": "string"
9+
},
10+
"config": {
11+
"type": "object",
12+
"properties": {
13+
"name": {
14+
"type": "string"
15+
}
16+
},
17+
"additionalProperties": false,
18+
"required": ["name"]
19+
},
20+
"sidebars": {
21+
"type": "object",
22+
"properties": {
23+
"main": {
24+
"type": "array",
25+
"items": {
26+
"$ref": "#/$defs/sidebarItem"
27+
}
28+
}
29+
},
30+
"additionalProperties": false,
31+
"required": ["main"]
32+
}
33+
},
34+
"additionalProperties": false,
35+
"required": ["config", "sidebars"],
36+
"$defs": {
37+
"sidebarItem": {
38+
"oneOf": [
39+
{
40+
"type": "object",
41+
"properties": {
42+
"label": {
43+
"type": "string",
44+
"minLength": 1
45+
},
46+
"path": {
47+
"type": "string",
48+
"minLength": 1
49+
},
50+
"className": {
51+
"type": "string"
52+
}
53+
},
54+
"additionalProperties": false,
55+
"required": ["label", "path"]
56+
},
57+
{
58+
"type": "object",
59+
"properties": {
60+
"label": {
61+
"type": "string",
62+
"minLength": 1
63+
},
64+
"href": {
65+
"type": "string"
66+
}
67+
},
68+
"additionalProperties": false,
69+
"required": ["label", "href"]
70+
},
71+
{
72+
"type": "object",
73+
"properties": {
74+
"label": {
75+
"type": "string",
76+
"minLength": 1
77+
},
78+
"items": {
79+
"type": "array",
80+
"items": {
81+
"$ref": "#/$defs/sidebarItem"
82+
}
83+
},
84+
"collapsible": {
85+
"type": "boolean"
86+
}
87+
},
88+
"additionalProperties": false,
89+
"required": ["label", "items"]
90+
}
91+
]
92+
}
93+
}
94+
}

0 commit comments

Comments
 (0)