-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.json
163 lines (163 loc) · 5.17 KB
/
schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
{
"type": "object",
"properties": {
"name": {
"description": "The name of the package. May contain only alphabetic characters, slashes, dashes, and underscores.",
"type": "string"
},
"version": {
"description": "The version of the package. NOTE: Version numbers are immutable. Ibis expects that once a package changes,\nthe version number changes as well. This means that you cannot hot-fix content and *must* release a new version\nof the package when you want to update content.",
"type": "string"
},
"description": {
"description": "A description for the package. Will be shown in search results and package management views.",
"type": "string"
},
"author": {
"description": "The author of the package.",
"type": "string"
},
"language": {
"description": "The ISO 639-1 standard language code of the package.",
"type": "string"
},
"pages": {
"description": "The page table of the package.",
"$ref": "#/definitions/PageTable"
},
"sidebar": {
"description": "The sidebar table of the package.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"version"
],
"definitions": {
"PageTable": {
"description": "The page table contains all pages in the package.\nEach key (string) mut be the ID of the package, and the value must be the PageType.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/PageType"
}
},
"PageType": {
"type": "object",
"properties": {
"title": {
"description": "The title of the page. May only contain alphanumeric characters, dashes, and underscores, and spaces.",
"type": "string"
},
"description": {
"description": "A short description of the page. May be used in search results.",
"type": "string"
},
"path": {
"description": "A path to the HTML page from the ibis.json file.",
"type": "string"
},
"entryType": {
"$ref": "#/definitions/EntryTypes",
"description": "The type of entry the page is."
},
"children": {
"description": "An optional array of children IDs.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"entryType",
"path",
"title"
]
},
"EntryTypes": {
"description": "The different types of entries a page can be. A page can only be one type of entry.",
"enum": [
"annotation",
"attibute",
"binding",
"builtin",
"callback",
"category",
"class",
"command",
"component",
"constant",
"constructor",
"define",
"delegate",
"diagram",
"directive",
"element",
"entry",
"enum",
"environment",
"error",
"event",
"exception",
"extension",
"field",
"file",
"framework",
"function",
"global",
"guide",
"hook",
"instance",
"instruction",
"interface",
"keyword",
"library",
"literal",
"macro",
"method",
"mixin",
"modifier",
"module",
"namespace",
"notation",
"object",
"operator",
"option",
"package",
"parameter",
"plugin",
"procedure",
"property",
"protocol",
"provider",
"provisioner",
"query",
"record",
"resource",
"sample",
"section",
"service",
"setting",
"shortcut",
"statement",
"struct",
"style",
"subroutine",
"tag",
"test",
"trait",
"type",
"union",
"value",
"variable",
"word"
],
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}