@zpress/config 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,582 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://raw.githubusercontent.com/joggrdocs/zpress/v0.1.0/packages/config/schemas/schema.json",
4
+ "title": "Zpress Configuration",
5
+ "description": "Configuration file for zpress documentation framework",
6
+ "$ref": "#/definitions/ZpressConfig",
7
+ "definitions": {
8
+ "ZpressConfig": {
9
+ "type": "object",
10
+ "properties": {
11
+ "title": {
12
+ "type": "string"
13
+ },
14
+ "description": {
15
+ "type": "string"
16
+ },
17
+ "theme": {
18
+ "type": "object",
19
+ "properties": {
20
+ "name": {
21
+ "type": "string",
22
+ "default": "base"
23
+ },
24
+ "colorMode": {
25
+ "type": "string",
26
+ "enum": [
27
+ "dark",
28
+ "light",
29
+ "toggle"
30
+ ]
31
+ },
32
+ "switcher": {
33
+ "type": "boolean"
34
+ },
35
+ "colors": {
36
+ "type": "object",
37
+ "properties": {
38
+ "brand": {
39
+ "type": "string"
40
+ },
41
+ "brandLight": {
42
+ "type": "string"
43
+ },
44
+ "brandDark": {
45
+ "type": "string"
46
+ },
47
+ "brandSoft": {
48
+ "type": "string"
49
+ },
50
+ "bg": {
51
+ "type": "string"
52
+ },
53
+ "bgAlt": {
54
+ "type": "string"
55
+ },
56
+ "bgElv": {
57
+ "type": "string"
58
+ },
59
+ "bgSoft": {
60
+ "type": "string"
61
+ },
62
+ "text1": {
63
+ "type": "string"
64
+ },
65
+ "text2": {
66
+ "type": "string"
67
+ },
68
+ "text3": {
69
+ "type": "string"
70
+ },
71
+ "divider": {
72
+ "type": "string"
73
+ },
74
+ "border": {
75
+ "type": "string"
76
+ },
77
+ "homeBg": {
78
+ "type": "string"
79
+ }
80
+ },
81
+ "additionalProperties": false
82
+ },
83
+ "darkColors": {
84
+ "$ref": "#/definitions/ZpressConfig/properties/theme/properties/colors"
85
+ }
86
+ },
87
+ "additionalProperties": false
88
+ },
89
+ "icon": {
90
+ "type": "string"
91
+ },
92
+ "tagline": {
93
+ "type": "string"
94
+ },
95
+ "apps": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "object",
99
+ "properties": {
100
+ "title": {
101
+ "anyOf": [
102
+ {
103
+ "type": "string"
104
+ },
105
+ {
106
+ "type": "object",
107
+ "properties": {
108
+ "from": {
109
+ "type": "string",
110
+ "enum": [
111
+ "auto",
112
+ "filename",
113
+ "heading",
114
+ "frontmatter"
115
+ ]
116
+ }
117
+ },
118
+ "required": [
119
+ "from"
120
+ ],
121
+ "additionalProperties": false
122
+ }
123
+ ]
124
+ },
125
+ "icon": {
126
+ "type": "string"
127
+ },
128
+ "iconColor": {
129
+ "type": "string"
130
+ },
131
+ "description": {
132
+ "type": "string"
133
+ },
134
+ "tags": {
135
+ "type": "array",
136
+ "items": {
137
+ "type": "string"
138
+ }
139
+ },
140
+ "badge": {
141
+ "type": "object",
142
+ "properties": {
143
+ "src": {
144
+ "type": "string"
145
+ },
146
+ "alt": {
147
+ "type": "string"
148
+ }
149
+ },
150
+ "required": [
151
+ "src",
152
+ "alt"
153
+ ],
154
+ "additionalProperties": false
155
+ },
156
+ "prefix": {
157
+ "type": "string"
158
+ },
159
+ "discovery": {
160
+ "type": "object",
161
+ "properties": {
162
+ "from": {
163
+ "type": "string"
164
+ },
165
+ "title": {
166
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/title"
167
+ },
168
+ "sort": {
169
+ "anyOf": [
170
+ {
171
+ "type": "string",
172
+ "enum": [
173
+ "alpha",
174
+ "filename"
175
+ ]
176
+ }
177
+ ]
178
+ },
179
+ "exclude": {
180
+ "type": "array",
181
+ "items": {
182
+ "type": "string"
183
+ }
184
+ },
185
+ "frontmatter": {
186
+ "type": "object",
187
+ "properties": {
188
+ "title": {
189
+ "type": "string"
190
+ },
191
+ "titleTemplate": {
192
+ "type": [
193
+ "string",
194
+ "boolean"
195
+ ]
196
+ },
197
+ "description": {
198
+ "type": "string"
199
+ },
200
+ "layout": {
201
+ "type": "string"
202
+ },
203
+ "sidebar": {
204
+ "type": "boolean"
205
+ },
206
+ "aside": {
207
+ "anyOf": [
208
+ {
209
+ "type": "boolean"
210
+ },
211
+ {
212
+ "type": "string",
213
+ "const": "left"
214
+ }
215
+ ]
216
+ },
217
+ "outline": {
218
+ "anyOf": [
219
+ {
220
+ "type": "boolean",
221
+ "const": false
222
+ },
223
+ {
224
+ "type": "number"
225
+ },
226
+ {
227
+ "type": "array",
228
+ "minItems": 2,
229
+ "maxItems": 2,
230
+ "items": [
231
+ {
232
+ "type": "number"
233
+ },
234
+ {
235
+ "type": "number"
236
+ }
237
+ ]
238
+ },
239
+ {
240
+ "type": "string",
241
+ "const": "deep"
242
+ }
243
+ ]
244
+ },
245
+ "navbar": {
246
+ "type": "boolean"
247
+ },
248
+ "editLink": {
249
+ "type": "boolean"
250
+ },
251
+ "lastUpdated": {
252
+ "type": "boolean"
253
+ },
254
+ "footer": {
255
+ "type": "boolean"
256
+ },
257
+ "pageClass": {
258
+ "type": "string"
259
+ },
260
+ "head": {
261
+ "type": "array",
262
+ "items": {
263
+ "type": "array",
264
+ "minItems": 2,
265
+ "maxItems": 2,
266
+ "items": [
267
+ {
268
+ "type": "string"
269
+ },
270
+ {
271
+ "type": "object",
272
+ "additionalProperties": {
273
+ "type": "string"
274
+ }
275
+ }
276
+ ]
277
+ }
278
+ }
279
+ },
280
+ "additionalProperties": true
281
+ },
282
+ "recursive": {
283
+ "type": "boolean"
284
+ },
285
+ "indexFile": {
286
+ "type": "string"
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ },
291
+ "items": {
292
+ "type": "array",
293
+ "items": {
294
+ "type": "object",
295
+ "properties": {
296
+ "title": {
297
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/title"
298
+ },
299
+ "link": {
300
+ "type": "string"
301
+ },
302
+ "from": {
303
+ "type": "string"
304
+ },
305
+ "prefix": {
306
+ "type": "string"
307
+ },
308
+ "content": {
309
+ "anyOf": [
310
+ {
311
+ "type": "string"
312
+ }
313
+ ]
314
+ },
315
+ "items": {
316
+ "type": "array",
317
+ "items": {
318
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/items/items"
319
+ }
320
+ },
321
+ "landing": {
322
+ "anyOf": [
323
+ {
324
+ "type": "string",
325
+ "enum": [
326
+ "auto",
327
+ "cards",
328
+ "overview"
329
+ ]
330
+ },
331
+ {
332
+ "type": "boolean",
333
+ "const": false
334
+ }
335
+ ]
336
+ },
337
+ "collapsible": {
338
+ "type": "boolean"
339
+ },
340
+ "exclude": {
341
+ "type": "array",
342
+ "items": {
343
+ "type": "string"
344
+ }
345
+ },
346
+ "hidden": {
347
+ "type": "boolean"
348
+ },
349
+ "frontmatter": {
350
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/discovery/properties/frontmatter"
351
+ },
352
+ "sort": {
353
+ "anyOf": [
354
+ {
355
+ "type": "string",
356
+ "enum": [
357
+ "alpha",
358
+ "filename"
359
+ ]
360
+ }
361
+ ]
362
+ },
363
+ "recursive": {
364
+ "type": "boolean"
365
+ },
366
+ "indexFile": {
367
+ "type": "string"
368
+ },
369
+ "icon": {
370
+ "type": "string"
371
+ },
372
+ "iconColor": {
373
+ "type": "string"
374
+ },
375
+ "card": {
376
+ "type": "object",
377
+ "properties": {
378
+ "icon": {
379
+ "type": "string"
380
+ },
381
+ "iconColor": {
382
+ "type": "string"
383
+ },
384
+ "scope": {
385
+ "type": "string"
386
+ },
387
+ "description": {
388
+ "type": "string"
389
+ },
390
+ "tags": {
391
+ "type": "array",
392
+ "items": {
393
+ "type": "string"
394
+ }
395
+ },
396
+ "badge": {
397
+ "type": "object",
398
+ "properties": {
399
+ "src": {
400
+ "type": "string"
401
+ },
402
+ "alt": {
403
+ "type": "string"
404
+ }
405
+ },
406
+ "required": [
407
+ "src",
408
+ "alt"
409
+ ],
410
+ "additionalProperties": false
411
+ }
412
+ },
413
+ "additionalProperties": false
414
+ },
415
+ "isolated": {
416
+ "type": "boolean"
417
+ },
418
+ "titleFrom": {
419
+ "type": "string",
420
+ "enum": [
421
+ "filename",
422
+ "heading",
423
+ "frontmatter",
424
+ "auto"
425
+ ]
426
+ }
427
+ },
428
+ "required": [
429
+ "title"
430
+ ],
431
+ "additionalProperties": false
432
+ }
433
+ }
434
+ },
435
+ "required": [
436
+ "title",
437
+ "description",
438
+ "prefix"
439
+ ],
440
+ "additionalProperties": false
441
+ }
442
+ },
443
+ "packages": {
444
+ "type": "array",
445
+ "items": {
446
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items"
447
+ }
448
+ },
449
+ "workspaces": {
450
+ "type": "array",
451
+ "items": {
452
+ "type": "object",
453
+ "properties": {
454
+ "title": {
455
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/title"
456
+ },
457
+ "description": {
458
+ "type": "string"
459
+ },
460
+ "icon": {
461
+ "type": "string"
462
+ },
463
+ "items": {
464
+ "type": "array",
465
+ "items": {
466
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items"
467
+ },
468
+ "minItems": 1
469
+ },
470
+ "link": {
471
+ "type": "string"
472
+ }
473
+ },
474
+ "required": [
475
+ "title",
476
+ "description",
477
+ "icon",
478
+ "items"
479
+ ],
480
+ "additionalProperties": false
481
+ }
482
+ },
483
+ "features": {
484
+ "type": "array",
485
+ "items": {
486
+ "type": "object",
487
+ "properties": {
488
+ "title": {
489
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/title"
490
+ },
491
+ "description": {
492
+ "type": "string"
493
+ },
494
+ "link": {
495
+ "type": "string"
496
+ },
497
+ "icon": {
498
+ "type": "string"
499
+ }
500
+ },
501
+ "required": [
502
+ "title",
503
+ "description"
504
+ ],
505
+ "additionalProperties": false
506
+ }
507
+ },
508
+ "sections": {
509
+ "type": "array",
510
+ "items": {
511
+ "$ref": "#/definitions/ZpressConfig/properties/apps/items/properties/items/items"
512
+ },
513
+ "minItems": 1
514
+ },
515
+ "nav": {
516
+ "anyOf": [
517
+ {
518
+ "type": "string",
519
+ "const": "auto"
520
+ },
521
+ {
522
+ "type": "array",
523
+ "items": {
524
+ "type": "object",
525
+ "properties": {
526
+ "text": {
527
+ "type": "string"
528
+ },
529
+ "link": {
530
+ "type": "string"
531
+ },
532
+ "items": {
533
+ "type": "array",
534
+ "items": {
535
+ "$ref": "#/definitions/ZpressConfig/properties/nav/anyOf/1/items"
536
+ }
537
+ },
538
+ "activeMatch": {
539
+ "type": "string"
540
+ }
541
+ },
542
+ "required": [
543
+ "text"
544
+ ],
545
+ "additionalProperties": false
546
+ }
547
+ }
548
+ ]
549
+ },
550
+ "exclude": {
551
+ "type": "array",
552
+ "items": {
553
+ "type": "string"
554
+ }
555
+ },
556
+ "openapi": {
557
+ "type": "object",
558
+ "properties": {
559
+ "spec": {
560
+ "type": "string"
561
+ },
562
+ "prefix": {
563
+ "type": "string"
564
+ },
565
+ "title": {
566
+ "type": "string"
567
+ }
568
+ },
569
+ "required": [
570
+ "spec",
571
+ "prefix"
572
+ ],
573
+ "additionalProperties": false
574
+ }
575
+ },
576
+ "required": [
577
+ "sections"
578
+ ],
579
+ "additionalProperties": false
580
+ }
581
+ }
582
+ }