-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroster-config-schema.config.json
More file actions
182 lines (182 loc) · 5.64 KB
/
roster-config-schema.config.json
File metadata and controls
182 lines (182 loc) · 5.64 KB
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
{
"$id": "https://github.com/JordanRL/Roster/master/roster-config-schema.config.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Roster Config Schema",
"description": "The config schema for the Roster PHP Documentation Library config file",
"type": "object",
"properties": {
"prefer-source": {
"type": "boolean",
"description": "Whether to trust the source code over the comments"
},
"with-version": {
"type": "string",
"description": "The version to export the documentation as; omit for auto-detection behavior"
},
"export-path": {
"type": "string",
"description": "The export path to write the finished documentation files to"
},
"templates": {
"type": "string",
"description": "The path to the template files"
},
"mkdocs": {
"type": "object",
"description": "The config options for using MkDocs formatting and exporting",
"properties": {
"site-name": {
"type": "string",
"description": "The printed name of the documentation site"
},
"site-url": {
"type": "string",
"description": "The URL to the documentation site"
},
"repo-url": {
"type": "string",
"description": "The URL to the repository that contains the source code"
},
"theme": {
"type": "string",
"enum": ["md", "sphinx-rtd"],
"description": "The MkDocs theme to use"
},
"auto-deploy": {
"type": "boolean",
"description": "Whether or not to automatically run MkDocs once the files are built"
},
"merge-nav": {
"type": "boolean",
"description": "Whether or not to merge with the existing MkDocs config if one exists"
},
"merge-nav-mode": {
"type": "string",
"enum": ["append", "replace-nav-key"],
"description": "If merge-config is true, this determines whether the generated files are merged with the nav by replacing everything below a specific root key, or by appending at the end of the nav array"
},
"nav-key": {
"type": "string",
"description": "The key in the existing MkDocs config nav that generated documentation will be put under"
}
}
},
"sources": {
"type": "array",
"description": "The objects describing the sources you want to generate documentation for",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The path to the sources that you want to build documentation for"
},
"autoloader": {
"type": "string",
"description": "The autoloader for the sources in path, if those sources have a different autoloader than the project which Roster is in"
},
"visibility": {
"type": "string",
"enum": ["private", "protected", "public"],
"description": "The maximum level of visibility that will be included in the generated documentation"
},
"aliases": {
"type": "array",
"description": "An array of objects describing name spaces you would like to alias into a different structure for the generated nav. Applies only to classes that are also found at the given path in the same sources object.",
"items": {
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace that you want to alias for navigation"
},
"alias": {
"type": "string",
"description": "The namespace you'd like to alias to for navigation"
}
},
"required": ["namespace", "alias"]
}
}
},
"required": ["path", "visibility"]
}
}
},
"allOf": [
{
"anyOf": [
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": true}
},
"required": ["merge-nav-mode"]
}
},
"required": ["sources"]
},
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": false}
}
}
},
"required": ["sources"]
},
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": true},
"merge-nav-mode": {"const": "append"}
}
}
},
"required": ["sources"]
}
]
},
{
"anyOf": [
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": false}
}
}
},
"required": ["sources"]
},
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": true},
"merge-nav-mode": {"const": "replace-nav-key"}
},
"required": ["nav-key"]
}
},
"required": ["sources"]
},
{
"properties": {
"mkdocs": {
"properties": {
"merge-nav": {"const": true},
"merge-nav-mode": {"const": "append"}
}
}
},
"required": ["sources"]
}
]
}
]
}