@umami/shiso 1.16.0 → 1.17.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.
- package/bin/shiso.mjs +0 -0
- package/dist/chunks/App.js +228 -110
- package/dist/chunks/docs.js +180 -180
- package/dist/entry-server.js +1 -1
- package/docs.schema.json +1131 -1003
- package/package.json +1 -1
- package/src/App.tsx +9 -1
- package/src/components/DocContent.tsx +15 -6
- package/src/components/LanguageSwitcher.tsx +10 -3
- package/src/components/PageActions.tsx +134 -0
- package/src/components/docs/Changelog.tsx +22 -8
- package/src/lib/locale.ts +25 -0
- package/src/lib/site-model.ts +2 -0
- package/src/lib/types.ts +24 -0
- package/src/styles/global.css +1 -1
package/docs.schema.json
CHANGED
|
@@ -1,1003 +1,1131 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "docs.schema.json",
|
|
4
|
-
"title": "Shiso docs.json",
|
|
5
|
-
"description": "Configuration for a Shiso docs site. Documented settings are strictly validated and unknown keys are rejected.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"anyOf": [{ "required": ["$ref"] }, { "required": ["navigation"] }],
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"$ref": {
|
|
11
|
-
"allOf": [{ "$ref": "#/definitions/configRef" }]
|
|
12
|
-
},
|
|
13
|
-
"$schema": {
|
|
14
|
-
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
15
|
-
"description": "Path or URL to this schema, for editor autocomplete."
|
|
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
|
-
{ "$ref": "#/definitions/
|
|
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
|
-
"
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
"
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
|
|
216
|
-
"
|
|
217
|
-
"
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
},
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"
|
|
259
|
-
"
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
},
|
|
277
|
-
"
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
"
|
|
292
|
-
"
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
{
|
|
305
|
-
"type": "object",
|
|
306
|
-
"
|
|
307
|
-
"
|
|
308
|
-
|
|
309
|
-
"
|
|
310
|
-
|
|
311
|
-
"
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
"
|
|
319
|
-
"
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
},
|
|
389
|
-
{
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
{
|
|
442
|
-
"
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
"
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
"
|
|
454
|
-
"
|
|
455
|
-
"description": "
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
"
|
|
476
|
-
"
|
|
477
|
-
"additionalProperties": false,
|
|
478
|
-
"properties": {
|
|
479
|
-
"$ref": { "$ref": "#/definitions/configRef" },
|
|
480
|
-
"
|
|
481
|
-
"
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
"
|
|
597
|
-
"
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
"
|
|
604
|
-
"
|
|
605
|
-
"additionalProperties": false,
|
|
606
|
-
"properties": {
|
|
607
|
-
"$ref": { "$ref": "#/definitions/configRef" },
|
|
608
|
-
"
|
|
609
|
-
"
|
|
610
|
-
"
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
"
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
"anyOf": [
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
"
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
"
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
"
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
"
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
"
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
"anyOf": [
|
|
839
|
-
{ "
|
|
840
|
-
{
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
"
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
"
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
"
|
|
871
|
-
"
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
"
|
|
875
|
-
"
|
|
876
|
-
"
|
|
877
|
-
"
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
"
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
"
|
|
903
|
-
|
|
904
|
-
"
|
|
905
|
-
|
|
906
|
-
"
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
"
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
"
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
"
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
"
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
"
|
|
966
|
-
"
|
|
967
|
-
{ "
|
|
968
|
-
{
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
},
|
|
990
|
-
"
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
},
|
|
994
|
-
"
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "docs.schema.json",
|
|
4
|
+
"title": "Shiso docs.json",
|
|
5
|
+
"description": "Configuration for a Shiso docs site. Documented settings are strictly validated and unknown keys are rejected.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["navigation"] }],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"$ref": {
|
|
11
|
+
"allOf": [{ "$ref": "#/definitions/configRef" }]
|
|
12
|
+
},
|
|
13
|
+
"$schema": {
|
|
14
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
15
|
+
"description": "Path or URL to this schema, for editor autocomplete."
|
|
16
|
+
},
|
|
17
|
+
"editLink": {
|
|
18
|
+
"description": "Source edit link shown below documentation pages. $file expands to the encoded project-relative source path.",
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"const": false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": [
|
|
27
|
+
"url"
|
|
28
|
+
],
|
|
29
|
+
"properties": {
|
|
30
|
+
"url": {
|
|
31
|
+
"anyOf": [
|
|
32
|
+
{
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^https?://[^\\s]+$"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"$ref": "#/definitions/configRefValue"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"label": {
|
|
42
|
+
"anyOf": [
|
|
43
|
+
{
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"$ref": "#/definitions/configRefValue"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"$ref": "#/definitions/configRefValue"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"feedback": {
|
|
60
|
+
"description": "Opt-in page ratings sent as JSON to a configured endpoint.",
|
|
61
|
+
"anyOf": [
|
|
62
|
+
{
|
|
63
|
+
"const": false
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"required": [
|
|
69
|
+
"endpoint"
|
|
70
|
+
],
|
|
71
|
+
"properties": {
|
|
72
|
+
"endpoint": {
|
|
73
|
+
"anyOf": [
|
|
74
|
+
{
|
|
75
|
+
"type": "string",
|
|
76
|
+
"pattern": "^(https?://[^\\s]+|/(?!/)[^\\s]*)$"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"$ref": "#/definitions/configRefValue"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"prompt": {
|
|
84
|
+
"anyOf": [
|
|
85
|
+
{
|
|
86
|
+
"type": "string",
|
|
87
|
+
"minLength": 1
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"$ref": "#/definitions/configRefValue"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"helpfulLabel": {
|
|
95
|
+
"anyOf": [
|
|
96
|
+
{
|
|
97
|
+
"type": "string",
|
|
98
|
+
"minLength": 1
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"$ref": "#/definitions/configRefValue"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"unhelpfulLabel": {
|
|
106
|
+
"anyOf": [
|
|
107
|
+
{
|
|
108
|
+
"type": "string",
|
|
109
|
+
"minLength": 1
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"$ref": "#/definitions/configRefValue"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
"successMessage": {
|
|
117
|
+
"anyOf": [
|
|
118
|
+
{
|
|
119
|
+
"type": "string",
|
|
120
|
+
"minLength": 1
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"$ref": "#/definitions/configRefValue"
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
"errorMessage": {
|
|
128
|
+
"anyOf": [
|
|
129
|
+
{
|
|
130
|
+
"type": "string",
|
|
131
|
+
"minLength": 1
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"$ref": "#/definitions/configRefValue"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"$ref": "#/definitions/configRefValue"
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"name": {
|
|
146
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
147
|
+
"description": "Site name, shown in the header and the page title."
|
|
148
|
+
},
|
|
149
|
+
"description": {
|
|
150
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
151
|
+
"description": "Default meta description for pages without one."
|
|
152
|
+
},
|
|
153
|
+
"colors": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"additionalProperties": false,
|
|
156
|
+
"properties": {
|
|
157
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
158
|
+
"primary": {
|
|
159
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
160
|
+
"description": "Primary accent color (any CSS color)."
|
|
161
|
+
},
|
|
162
|
+
"light": {
|
|
163
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
164
|
+
"description": "Accent color used in dark mode."
|
|
165
|
+
},
|
|
166
|
+
"dark": {
|
|
167
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
168
|
+
"description": "Fallback accent color when primary is omitted."
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"logo": {
|
|
173
|
+
"oneOf": [
|
|
174
|
+
{
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "Path to the logo image, relative to the public directory."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"type": "object",
|
|
180
|
+
"anyOf": [
|
|
181
|
+
{ "required": ["$ref"] },
|
|
182
|
+
{ "required": ["light"] },
|
|
183
|
+
{ "required": ["dark"] }
|
|
184
|
+
],
|
|
185
|
+
"additionalProperties": false,
|
|
186
|
+
"properties": {
|
|
187
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
188
|
+
"light": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Logo shown in light mode." },
|
|
189
|
+
"dark": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Logo shown in dark mode." },
|
|
190
|
+
"href": {
|
|
191
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
192
|
+
"description": "URL the logo links to. Defaults to the docs root."
|
|
193
|
+
},
|
|
194
|
+
"target": {
|
|
195
|
+
"allOf": [{ "$ref": "#/definitions/targetValue" }],
|
|
196
|
+
"description": "Browsing context for the logo link. Defaults from href."
|
|
197
|
+
},
|
|
198
|
+
"invert": {
|
|
199
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
200
|
+
"description": "Render one logo and force it to white in dark mode with a CSS filter, instead of swapping to a dark variant. Best for monochrome logos."
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"favicon": {
|
|
207
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
208
|
+
"description": "Path to the favicon, relative to the public directory."
|
|
209
|
+
},
|
|
210
|
+
"pages": {
|
|
211
|
+
"type": ["array", "object"],
|
|
212
|
+
"if": { "type": "object" },
|
|
213
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
214
|
+
"description": "Standalone pages outside the docs navigation, such as a landing page. Each entry maps a route path to a file under content/pages.",
|
|
215
|
+
"items": {
|
|
216
|
+
"type": "object",
|
|
217
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["path", "page"] }],
|
|
218
|
+
"additionalProperties": false,
|
|
219
|
+
"properties": {
|
|
220
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
221
|
+
"path": {
|
|
222
|
+
"anyOf": [
|
|
223
|
+
{ "type": "string", "pattern": "^/[^*:]*$" },
|
|
224
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
225
|
+
],
|
|
226
|
+
"description": "Route path starting with \"/\". Use \"/\" for the site home page."
|
|
227
|
+
},
|
|
228
|
+
"page": {
|
|
229
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
230
|
+
"description": "File slug under content/pages, e.g. \"home\" for content/pages/home.tsx, home.mdx, or home.md."
|
|
231
|
+
},
|
|
232
|
+
"title": {
|
|
233
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
234
|
+
"description": "Page title used in the document head. Frontmatter title wins."
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"navigation": {
|
|
240
|
+
"type": "object",
|
|
241
|
+
"description": "Site navigation. Define exactly one of: tabs, dropdowns, versions, languages, or top-level groups/pages.",
|
|
242
|
+
"anyOf": [
|
|
243
|
+
{ "required": ["$ref"] },
|
|
244
|
+
{ "required": ["tabs"] },
|
|
245
|
+
{ "required": ["dropdowns"] },
|
|
246
|
+
{ "required": ["versions"] },
|
|
247
|
+
{ "required": ["languages"] },
|
|
248
|
+
{ "required": ["groups"] },
|
|
249
|
+
{ "required": ["pages"] }
|
|
250
|
+
],
|
|
251
|
+
"not": {
|
|
252
|
+
"anyOf": [
|
|
253
|
+
{ "required": ["tabs", "dropdowns"] },
|
|
254
|
+
{ "required": ["tabs", "versions"] },
|
|
255
|
+
{ "required": ["tabs", "languages"] },
|
|
256
|
+
{ "required": ["tabs", "groups"] },
|
|
257
|
+
{ "required": ["tabs", "pages"] },
|
|
258
|
+
{ "required": ["dropdowns", "versions"] },
|
|
259
|
+
{ "required": ["dropdowns", "languages"] },
|
|
260
|
+
{ "required": ["dropdowns", "groups"] },
|
|
261
|
+
{ "required": ["dropdowns", "pages"] },
|
|
262
|
+
{ "required": ["versions", "languages"] },
|
|
263
|
+
{ "required": ["versions", "groups"] },
|
|
264
|
+
{ "required": ["versions", "pages"] },
|
|
265
|
+
{ "required": ["languages", "groups"] },
|
|
266
|
+
{ "required": ["languages", "pages"] }
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
"additionalProperties": false,
|
|
270
|
+
"properties": {
|
|
271
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
272
|
+
"tabs": { "$ref": "#/definitions/tabList" },
|
|
273
|
+
"dropdowns": { "$ref": "#/definitions/dropdownList" },
|
|
274
|
+
"anchors": { "$ref": "#/definitions/anchorList" },
|
|
275
|
+
"versions": { "$ref": "#/definitions/versionList" },
|
|
276
|
+
"languages": { "$ref": "#/definitions/languageList" },
|
|
277
|
+
"groups": { "$ref": "#/definitions/groupList" },
|
|
278
|
+
"pages": { "$ref": "#/definitions/pageItemList" }
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
|
|
282
|
+
"theme": {
|
|
283
|
+
"anyOf": [
|
|
284
|
+
{ "type": "string", "enum": ["shiso"] },
|
|
285
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
286
|
+
],
|
|
287
|
+
"default": "shiso",
|
|
288
|
+
"description": "Layout theme name. Only \"shiso\" is implemented."
|
|
289
|
+
},
|
|
290
|
+
"styling": {
|
|
291
|
+
"type": "object",
|
|
292
|
+
"description": "Visual styling configuration.",
|
|
293
|
+
"additionalProperties": false,
|
|
294
|
+
"properties": {
|
|
295
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
296
|
+
"eyebrows": {
|
|
297
|
+
"anyOf": [
|
|
298
|
+
{ "enum": ["section", "breadcrumbs"] },
|
|
299
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
300
|
+
],
|
|
301
|
+
"description": "Page eyebrow style: the section name (default) or the full navigation path.",
|
|
302
|
+
"default": "section"
|
|
303
|
+
},
|
|
304
|
+
"codeBlocks": {
|
|
305
|
+
"type": "object",
|
|
306
|
+
"description": "Fenced code block defaults: line numbers and the Shiki light/dark themes.",
|
|
307
|
+
"additionalProperties": false,
|
|
308
|
+
"properties": {
|
|
309
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
310
|
+
"lineNumbers": {
|
|
311
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
312
|
+
"description": "Show line numbers on every block. Override per block with showLineNumbers or hideLineNumbers in the fence meta.",
|
|
313
|
+
"default": false
|
|
314
|
+
},
|
|
315
|
+
"theme": {
|
|
316
|
+
"type": "object",
|
|
317
|
+
"description": "Bundled Shiki theme names for each color mode (https://shiki.style/themes).",
|
|
318
|
+
"additionalProperties": false,
|
|
319
|
+
"properties": {
|
|
320
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
321
|
+
"light": {
|
|
322
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
323
|
+
"description": "Theme used in light mode.",
|
|
324
|
+
"default": "github-light"
|
|
325
|
+
},
|
|
326
|
+
"dark": {
|
|
327
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
328
|
+
"description": "Theme used in dark mode.",
|
|
329
|
+
"default": "github-dark"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"fonts": {
|
|
338
|
+
"type": "object",
|
|
339
|
+
"description": "Custom fonts. Google Fonts families load automatically; use source/format for self-hosted files.",
|
|
340
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["family"] }],
|
|
341
|
+
"additionalProperties": false,
|
|
342
|
+
"properties": {
|
|
343
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
344
|
+
"family": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Font family name, e.g. \"Open Sans\"." },
|
|
345
|
+
"weight": { "allOf": [{ "$ref": "#/definitions/numberValue" }], "description": "Font weight, e.g. 400 or 700." },
|
|
346
|
+
"source": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "URL or path to a hosted font file." },
|
|
347
|
+
"format": {
|
|
348
|
+
"anyOf": [
|
|
349
|
+
{ "enum": ["woff", "woff2"] },
|
|
350
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
351
|
+
],
|
|
352
|
+
"description": "Font file format, for `source`."
|
|
353
|
+
},
|
|
354
|
+
"heading": { "allOf": [{ "$ref": "#/definitions/fontSpec" }], "description": "Override for headings." },
|
|
355
|
+
"body": { "allOf": [{ "$ref": "#/definitions/fontSpec" }], "description": "Override for body text." }
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"appearance": {
|
|
359
|
+
"type": "object",
|
|
360
|
+
"description": "Light/dark mode defaults.",
|
|
361
|
+
"additionalProperties": false,
|
|
362
|
+
"properties": {
|
|
363
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
364
|
+
"default": {
|
|
365
|
+
"anyOf": [
|
|
366
|
+
{ "enum": ["system", "light", "dark"] },
|
|
367
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
368
|
+
],
|
|
369
|
+
"description": "Initial theme mode. \"system\" follows the OS preference.",
|
|
370
|
+
"default": "system"
|
|
371
|
+
},
|
|
372
|
+
"strict": {
|
|
373
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
374
|
+
"description": "Hide the light/dark toggle and ignore stored preferences.",
|
|
375
|
+
"default": false
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
"background": {
|
|
380
|
+
"type": "object",
|
|
381
|
+
"description": "Background color and image settings.",
|
|
382
|
+
"additionalProperties": false,
|
|
383
|
+
"properties": {
|
|
384
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
385
|
+
"image": {
|
|
386
|
+
"description": "Background image, a single path or per-mode paths.",
|
|
387
|
+
"oneOf": [
|
|
388
|
+
{ "type": "string" },
|
|
389
|
+
{
|
|
390
|
+
"type": "object",
|
|
391
|
+
"anyOf": [
|
|
392
|
+
{ "required": ["$ref"] },
|
|
393
|
+
{ "required": ["light"] },
|
|
394
|
+
{ "required": ["dark"] }
|
|
395
|
+
],
|
|
396
|
+
"additionalProperties": false,
|
|
397
|
+
"properties": {
|
|
398
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
399
|
+
"light": { "$ref": "#/definitions/stringValue" },
|
|
400
|
+
"dark": { "$ref": "#/definitions/stringValue" }
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
]
|
|
404
|
+
},
|
|
405
|
+
"color": {
|
|
406
|
+
"type": "object",
|
|
407
|
+
"additionalProperties": false,
|
|
408
|
+
"properties": {
|
|
409
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
410
|
+
"light": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Background color for light mode." },
|
|
411
|
+
"dark": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Background color for dark mode." }
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"interaction": {
|
|
417
|
+
"type": "object",
|
|
418
|
+
"description": "Navigation interaction settings.",
|
|
419
|
+
"additionalProperties": false,
|
|
420
|
+
"properties": {
|
|
421
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
422
|
+
"drilldown": {
|
|
423
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
424
|
+
"description": "Collapsible-group click behavior: true navigates to the group's first page on expand, false only expands/collapses. Unset uses the default (headers with a root page navigate, others toggle)."
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"search": {
|
|
429
|
+
"description": "Search settings. Set to false to disable search.",
|
|
430
|
+
"oneOf": [
|
|
431
|
+
{ "const": false },
|
|
432
|
+
{
|
|
433
|
+
"type": "object",
|
|
434
|
+
"additionalProperties": false,
|
|
435
|
+
"properties": {
|
|
436
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
437
|
+
"prompt": {
|
|
438
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
439
|
+
"description": "Placeholder text for the search input."
|
|
440
|
+
},
|
|
441
|
+
"position": {
|
|
442
|
+
"anyOf": [
|
|
443
|
+
{ "type": "string", "enum": ["header", "sidebar"] },
|
|
444
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
445
|
+
],
|
|
446
|
+
"default": "header",
|
|
447
|
+
"description": "Where the search control renders: \"header\" (right side of the header) or \"sidebar\" (top of the navigation column; stays in the header on small screens). Themes that do not support a position fall back to \"header\"."
|
|
448
|
+
},
|
|
449
|
+
"provider": {
|
|
450
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
451
|
+
"description": "Search provider id: \"local\" (default), \"pagefind\", or a provider registered at runtime."
|
|
452
|
+
},
|
|
453
|
+
"options": {
|
|
454
|
+
"type": "object",
|
|
455
|
+
"description": "Provider-specific configuration."
|
|
456
|
+
},
|
|
457
|
+
"shortcut": {
|
|
458
|
+
"description": "Single Cmd/Ctrl shortcut key, or false to disable it.",
|
|
459
|
+
"oneOf": [
|
|
460
|
+
{ "type": "string", "minLength": 1, "maxLength": 1 },
|
|
461
|
+
{ "const": false },
|
|
462
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
"shortcutLabel": {
|
|
466
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
467
|
+
"description": "Text displayed for the configured search shortcut."
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
]
|
|
472
|
+
},
|
|
473
|
+
"contextual": {
|
|
474
|
+
"type": "object",
|
|
475
|
+
"description": "Contextual menu shown beside the page title.",
|
|
476
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["options"] }],
|
|
477
|
+
"additionalProperties": false,
|
|
478
|
+
"properties": {
|
|
479
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
480
|
+
"options": {
|
|
481
|
+
"anyOf": [
|
|
482
|
+
{
|
|
483
|
+
"type": "array",
|
|
484
|
+
"items": {
|
|
485
|
+
"oneOf": [
|
|
486
|
+
{
|
|
487
|
+
"enum": [
|
|
488
|
+
"copy",
|
|
489
|
+
"view",
|
|
490
|
+
"chatgpt",
|
|
491
|
+
"claude",
|
|
492
|
+
"perplexity"
|
|
493
|
+
]
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"type": "object",
|
|
497
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["title", "href"] }],
|
|
498
|
+
"additionalProperties": false,
|
|
499
|
+
"properties": {
|
|
500
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
501
|
+
"title": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Menu entry title." },
|
|
502
|
+
"description": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Menu entry description." },
|
|
503
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name rendered with the action." },
|
|
504
|
+
"target": {
|
|
505
|
+
"allOf": [{ "$ref": "#/definitions/targetValue" }],
|
|
506
|
+
"description": "Browsing context for the action. Defaults from the destination URL."
|
|
507
|
+
},
|
|
508
|
+
"href": {
|
|
509
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
510
|
+
"description": "Destination URL. \"$path\" expands to the page path, \"$page\" to the page's markdown URL."
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
]
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
518
|
+
],
|
|
519
|
+
"description": "Menu entries, in order; the first is the primary button."
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"navbar": {
|
|
524
|
+
"type": "object",
|
|
525
|
+
"description": "Links and primary button in the top navigation bar.",
|
|
526
|
+
"additionalProperties": false,
|
|
527
|
+
"properties": {
|
|
528
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
529
|
+
"links": {
|
|
530
|
+
"type": ["array", "object"],
|
|
531
|
+
"if": { "type": "object" },
|
|
532
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
533
|
+
"items": {
|
|
534
|
+
"type": "object",
|
|
535
|
+
"anyOf": [
|
|
536
|
+
{ "required": ["$ref"] },
|
|
537
|
+
{
|
|
538
|
+
"required": ["href"],
|
|
539
|
+
"anyOf": [{ "required": ["label"] }, { "required": ["icon"] }]
|
|
540
|
+
}
|
|
541
|
+
],
|
|
542
|
+
"additionalProperties": false,
|
|
543
|
+
"properties": {
|
|
544
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
545
|
+
"label": {
|
|
546
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
547
|
+
"description": "Visible link text. Omit for an icon-only link."
|
|
548
|
+
},
|
|
549
|
+
"href": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Destination URL." },
|
|
550
|
+
"ariaLabel": {
|
|
551
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
552
|
+
"description": "Accessible text for an icon-only link."
|
|
553
|
+
},
|
|
554
|
+
"icon": {
|
|
555
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
556
|
+
"description": "Icon name. Rendered alone when label is omitted."
|
|
557
|
+
},
|
|
558
|
+
"target": {
|
|
559
|
+
"allOf": [{ "$ref": "#/definitions/targetValue" }],
|
|
560
|
+
"description": "Browsing context. Defaults to _self for local links and _blank for external links."
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
"primary": {
|
|
566
|
+
"type": "object",
|
|
567
|
+
"anyOf": [
|
|
568
|
+
{ "required": ["$ref"] },
|
|
569
|
+
{
|
|
570
|
+
"required": ["href"],
|
|
571
|
+
"anyOf": [{ "required": ["label"] }, { "required": ["icon"] }]
|
|
572
|
+
}
|
|
573
|
+
],
|
|
574
|
+
"additionalProperties": false,
|
|
575
|
+
"properties": {
|
|
576
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
577
|
+
"label": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Visible button text. Omit for icon-only." },
|
|
578
|
+
"href": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Button destination URL." },
|
|
579
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Icon name." },
|
|
580
|
+
"ariaLabel": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Accessible text for icon-only buttons." },
|
|
581
|
+
"target": {
|
|
582
|
+
"allOf": [{ "$ref": "#/definitions/targetValue" }],
|
|
583
|
+
"description": "Browsing context. Defaults from the destination URL."
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
},
|
|
589
|
+
"metadata": {
|
|
590
|
+
"type": "object",
|
|
591
|
+
"description": "Page metadata settings.",
|
|
592
|
+
"additionalProperties": false,
|
|
593
|
+
"properties": {
|
|
594
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
595
|
+
"timestamp": {
|
|
596
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
597
|
+
"description": "Show the last-modified date (from git history) on all pages. Override per page with the `timestamp` frontmatter field.",
|
|
598
|
+
"default": false
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
"footer": {
|
|
603
|
+
"type": "object",
|
|
604
|
+
"description": "Footer content: social links and link columns.",
|
|
605
|
+
"additionalProperties": false,
|
|
606
|
+
"properties": {
|
|
607
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
608
|
+
"socials": {
|
|
609
|
+
"type": ["array", "object"],
|
|
610
|
+
"if": { "type": "object" },
|
|
611
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
612
|
+
"description": "Social links displayed in the footer.",
|
|
613
|
+
"items": {
|
|
614
|
+
"type": "object",
|
|
615
|
+
"anyOf": [
|
|
616
|
+
{ "required": ["$ref"] },
|
|
617
|
+
{
|
|
618
|
+
"required": ["href"],
|
|
619
|
+
"anyOf": [{ "required": ["label"] }, { "required": ["icon"] }]
|
|
620
|
+
}
|
|
621
|
+
],
|
|
622
|
+
"additionalProperties": false,
|
|
623
|
+
"properties": {
|
|
624
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
625
|
+
"href": { "$ref": "#/definitions/stringValue" },
|
|
626
|
+
"label": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Visible link text." },
|
|
627
|
+
"icon": { "$ref": "#/definitions/stringValue" },
|
|
628
|
+
"ariaLabel": { "$ref": "#/definitions/stringValue" },
|
|
629
|
+
"target": { "$ref": "#/definitions/targetValue" }
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
"links": {
|
|
634
|
+
"type": ["array", "object"],
|
|
635
|
+
"if": { "type": "object" },
|
|
636
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
637
|
+
"description": "Link columns displayed above the footer bottom row.",
|
|
638
|
+
"items": {
|
|
639
|
+
"type": "object",
|
|
640
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["items"] }],
|
|
641
|
+
"additionalProperties": false,
|
|
642
|
+
"properties": {
|
|
643
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
644
|
+
"header": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Column heading." },
|
|
645
|
+
"items": {
|
|
646
|
+
"type": ["array", "object"],
|
|
647
|
+
"if": { "type": "object" },
|
|
648
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
649
|
+
"items": {
|
|
650
|
+
"type": "object",
|
|
651
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["label", "href"] }],
|
|
652
|
+
"additionalProperties": false,
|
|
653
|
+
"properties": {
|
|
654
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
655
|
+
"label": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Link text." },
|
|
656
|
+
"href": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Link destination URL." },
|
|
657
|
+
"target": { "$ref": "#/definitions/targetValue" }
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"attribution": {
|
|
665
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
666
|
+
"description": "Show the Shiso attribution in the footer. Defaults to true.",
|
|
667
|
+
"default": true
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
},
|
|
671
|
+
"banner": {
|
|
672
|
+
"type": "object",
|
|
673
|
+
"description": "Site-wide banner displayed above the header.",
|
|
674
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["content"] }],
|
|
675
|
+
"additionalProperties": false,
|
|
676
|
+
"properties": {
|
|
677
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
678
|
+
"content": {
|
|
679
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
680
|
+
"description": "Banner text. Supports basic markdown: links, bold, italic, and inline code."
|
|
681
|
+
},
|
|
682
|
+
"dismissible": {
|
|
683
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
684
|
+
"description": "Show a dismiss button. Dismissal persists until the content changes.",
|
|
685
|
+
"default": false
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
},
|
|
689
|
+
"redirects": {
|
|
690
|
+
"type": ["array", "object"],
|
|
691
|
+
"if": { "type": "object" },
|
|
692
|
+
"then": { "$ref": "#/definitions/configRefValue" },
|
|
693
|
+
"description": "Redirects for moved, renamed, or deleted pages. Sources are matched exactly.",
|
|
694
|
+
"items": {
|
|
695
|
+
"type": "object",
|
|
696
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["source", "destination"] }],
|
|
697
|
+
"additionalProperties": false,
|
|
698
|
+
"properties": {
|
|
699
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
700
|
+
"source": { "allOf": [{ "$ref": "#/definitions/redirectSourceValue" }], "description": "Exact path to redirect from, e.g. \"/docs/old-page\"." },
|
|
701
|
+
"destination": {
|
|
702
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
703
|
+
"description": "Path or URL to redirect to, e.g. \"/new-page\"."
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
},
|
|
708
|
+
"seo": {
|
|
709
|
+
"type": "object",
|
|
710
|
+
"description": "SEO indexing configuration.",
|
|
711
|
+
"additionalProperties": false,
|
|
712
|
+
"properties": {
|
|
713
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
714
|
+
"metatags": {
|
|
715
|
+
"type": "object",
|
|
716
|
+
"description": "Meta tags added to every page, e.g. { \"og:image\": \"/social.png\" }.",
|
|
717
|
+
"additionalProperties": { "$ref": "#/definitions/stringValue" }
|
|
718
|
+
},
|
|
719
|
+
"indexing": {
|
|
720
|
+
"anyOf": [
|
|
721
|
+
{ "enum": ["navigable", "all"] },
|
|
722
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
723
|
+
],
|
|
724
|
+
"description": "\"navigable\" (default) marks hidden pages noindex and keeps them out of the sitemap; \"all\" indexes every page.",
|
|
725
|
+
"default": "navigable"
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"api": {
|
|
730
|
+
"type": "object",
|
|
731
|
+
"description": "API reference settings: the OpenAPI spec powering openapi frontmatter pages.",
|
|
732
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["spec"] }],
|
|
733
|
+
"additionalProperties": false,
|
|
734
|
+
"properties": {
|
|
735
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
736
|
+
"spec": {
|
|
737
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
738
|
+
"description": "Path to a local OpenAPI 3.0 or 3.1 spec (JSON or YAML), relative to the project root."
|
|
739
|
+
},
|
|
740
|
+
"directory": {
|
|
741
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
742
|
+
"description": "Folder inside the content directory for generated endpoint pages.",
|
|
743
|
+
"default": "api-reference"
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
},
|
|
747
|
+
"errors": {
|
|
748
|
+
"type": "object",
|
|
749
|
+
"description": "Error handling settings.",
|
|
750
|
+
"additionalProperties": false,
|
|
751
|
+
"properties": {
|
|
752
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
753
|
+
"404": {
|
|
754
|
+
"type": "object",
|
|
755
|
+
"description": "\"Page not found\" behavior.",
|
|
756
|
+
"additionalProperties": false,
|
|
757
|
+
"properties": {
|
|
758
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
759
|
+
"redirect": {
|
|
760
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
761
|
+
"description": "Navigate to the docs home when a page is not found. Defaults to true.",
|
|
762
|
+
"default": true
|
|
763
|
+
},
|
|
764
|
+
"title": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Custom title for the 404 page." },
|
|
765
|
+
"description": {
|
|
766
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
767
|
+
"description": "Custom description. Supports basic markdown: links, bold, italic, and inline code."
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
},
|
|
774
|
+
"definitions": {
|
|
775
|
+
"configRef": {
|
|
776
|
+
"type": "string",
|
|
777
|
+
"pattern": "^(?![A-Za-z][A-Za-z0-9+.-]*:)(?![/\\\\]).+\\.json$",
|
|
778
|
+
"description": "Relative path to another JSON configuration file. Resolved relative to the file containing this reference."
|
|
779
|
+
},
|
|
780
|
+
"configRefValue": {
|
|
781
|
+
"type": "object",
|
|
782
|
+
"description": "Reference to a JSON file used in place of this configuration value.",
|
|
783
|
+
"required": ["$ref"],
|
|
784
|
+
"additionalProperties": true,
|
|
785
|
+
"properties": {
|
|
786
|
+
"$ref": { "$ref": "#/definitions/configRef" }
|
|
787
|
+
}
|
|
788
|
+
},
|
|
789
|
+
"stringValue": {
|
|
790
|
+
"anyOf": [
|
|
791
|
+
{ "type": "string" },
|
|
792
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
793
|
+
]
|
|
794
|
+
},
|
|
795
|
+
"nonEmptyStringValue": {
|
|
796
|
+
"anyOf": [
|
|
797
|
+
{ "type": "string", "minLength": 1 },
|
|
798
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
799
|
+
]
|
|
800
|
+
},
|
|
801
|
+
"booleanValue": {
|
|
802
|
+
"anyOf": [
|
|
803
|
+
{ "type": "boolean" },
|
|
804
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
805
|
+
]
|
|
806
|
+
},
|
|
807
|
+
"numberValue": {
|
|
808
|
+
"anyOf": [
|
|
809
|
+
{ "type": "number" },
|
|
810
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
811
|
+
]
|
|
812
|
+
},
|
|
813
|
+
"targetValue": {
|
|
814
|
+
"anyOf": [
|
|
815
|
+
{ "enum": ["_self", "_blank"] },
|
|
816
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
817
|
+
]
|
|
818
|
+
},
|
|
819
|
+
"redirectSourceValue": {
|
|
820
|
+
"anyOf": [
|
|
821
|
+
{ "type": "string", "pattern": "^/[^*:]*$" },
|
|
822
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
823
|
+
]
|
|
824
|
+
},
|
|
825
|
+
"pageItemList": {
|
|
826
|
+
"anyOf": [
|
|
827
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/pageItem" } },
|
|
828
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
829
|
+
]
|
|
830
|
+
},
|
|
831
|
+
"groupList": {
|
|
832
|
+
"anyOf": [
|
|
833
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/group" } },
|
|
834
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
"dropdownList": {
|
|
838
|
+
"anyOf": [
|
|
839
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/dropdown" } },
|
|
840
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
841
|
+
]
|
|
842
|
+
},
|
|
843
|
+
"tabList": {
|
|
844
|
+
"anyOf": [
|
|
845
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/tab" } },
|
|
846
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
847
|
+
]
|
|
848
|
+
},
|
|
849
|
+
"anchorList": {
|
|
850
|
+
"anyOf": [
|
|
851
|
+
{ "type": "array", "items": { "$ref": "#/definitions/anchor" } },
|
|
852
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
853
|
+
]
|
|
854
|
+
},
|
|
855
|
+
"versionList": {
|
|
856
|
+
"anyOf": [
|
|
857
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/version" } },
|
|
858
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
859
|
+
]
|
|
860
|
+
},
|
|
861
|
+
"languageList": {
|
|
862
|
+
"anyOf": [
|
|
863
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/language" } },
|
|
864
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
865
|
+
]
|
|
866
|
+
},
|
|
867
|
+
"fontSpec": {
|
|
868
|
+
"type": "object",
|
|
869
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["family"] }],
|
|
870
|
+
"additionalProperties": false,
|
|
871
|
+
"properties": {
|
|
872
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
873
|
+
"family": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Font family name, e.g. \"Open Sans\"." },
|
|
874
|
+
"weight": { "allOf": [{ "$ref": "#/definitions/numberValue" }], "description": "Font weight, e.g. 400 or 700." },
|
|
875
|
+
"source": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "URL or path to a hosted font file." },
|
|
876
|
+
"format": {
|
|
877
|
+
"anyOf": [
|
|
878
|
+
{ "enum": ["woff", "woff2"] },
|
|
879
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
880
|
+
],
|
|
881
|
+
"description": "Font file format, for `source`."
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
},
|
|
885
|
+
"pageItem": {
|
|
886
|
+
"anyOf": [
|
|
887
|
+
{
|
|
888
|
+
"type": "string",
|
|
889
|
+
"description": "Page reference relative to the content directory, without extension (e.g. \"components/tabs\")."
|
|
890
|
+
},
|
|
891
|
+
{ "$ref": "#/definitions/pageObject" },
|
|
892
|
+
{ "$ref": "#/definitions/globItem" },
|
|
893
|
+
{ "$ref": "#/definitions/openapiItem" },
|
|
894
|
+
{ "$ref": "#/definitions/linkItem" },
|
|
895
|
+
{ "$ref": "#/definitions/group" }
|
|
896
|
+
]
|
|
897
|
+
},
|
|
898
|
+
"pageObject": {
|
|
899
|
+
"type": "object",
|
|
900
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["page"] }],
|
|
901
|
+
"additionalProperties": false,
|
|
902
|
+
"properties": {
|
|
903
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
904
|
+
"page": {
|
|
905
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
906
|
+
"description": "Page reference relative to the content directory, without extension."
|
|
907
|
+
},
|
|
908
|
+
"title": {
|
|
909
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
910
|
+
"description": "Custom sidebar label. Overrides the label derived from the file name."
|
|
911
|
+
},
|
|
912
|
+
"label": {
|
|
913
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
914
|
+
"description": "Custom sidebar label. Takes precedence over title."
|
|
915
|
+
},
|
|
916
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the label." },
|
|
917
|
+
"tag": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Short label shown after the page name." },
|
|
918
|
+
"method": {
|
|
919
|
+
"anyOf": [
|
|
920
|
+
{ "enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "TRACE"] },
|
|
921
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
922
|
+
],
|
|
923
|
+
"description": "HTTP method badge shown after the page name on API reference pages."
|
|
924
|
+
},
|
|
925
|
+
"hidden": {
|
|
926
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
927
|
+
"description": "Hide from the sidebar and search. The page is still built and reachable by URL."
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
},
|
|
931
|
+
"globItem": {
|
|
932
|
+
"type": "object",
|
|
933
|
+
"required": ["glob"],
|
|
934
|
+
"additionalProperties": false,
|
|
935
|
+
"properties": {
|
|
936
|
+
"glob": {
|
|
937
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
938
|
+
"description": "Glob relative to contentDir. Matching Markdown and MDX files are expanded into page entries; explicit page references take precedence."
|
|
939
|
+
},
|
|
940
|
+
"exclude": {
|
|
941
|
+
"anyOf": [
|
|
942
|
+
{
|
|
943
|
+
"type": "array",
|
|
944
|
+
"items": { "$ref": "#/definitions/nonEmptyStringValue" }
|
|
945
|
+
},
|
|
946
|
+
{ "$ref": "#/definitions/configRefValue" }
|
|
947
|
+
],
|
|
948
|
+
"description": "Optional glob patterns to omit from the matches."
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"openapiItem": {
|
|
953
|
+
"type": "object",
|
|
954
|
+
"required": ["openapi"],
|
|
955
|
+
"additionalProperties": false,
|
|
956
|
+
"properties": {
|
|
957
|
+
"openapi": {
|
|
958
|
+
"anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
959
|
+
"description": "Expand API endpoints into pages: true for every tag (grouped), or a tag name for that tag's operations. Requires the api.spec setting."
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
},
|
|
963
|
+
"linkItem": {
|
|
964
|
+
"type": "object",
|
|
965
|
+
"description": "An external link in the navigation tree.",
|
|
966
|
+
"anyOf": [
|
|
967
|
+
{ "required": ["$ref"] },
|
|
968
|
+
{
|
|
969
|
+
"required": ["href"],
|
|
970
|
+
"anyOf": [{ "required": ["label"] }, { "required": ["anchor"] }]
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"additionalProperties": false,
|
|
974
|
+
"properties": {
|
|
975
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
976
|
+
"href": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Destination URL." },
|
|
977
|
+
"label": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Link text." },
|
|
978
|
+
"anchor": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Alias for label." },
|
|
979
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the label." },
|
|
980
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide from the sidebar." },
|
|
981
|
+
"target": { "$ref": "#/definitions/targetValue" }
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
"anchor": {
|
|
985
|
+
"type": "object",
|
|
986
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["anchor", "href"] }],
|
|
987
|
+
"additionalProperties": false,
|
|
988
|
+
"properties": {
|
|
989
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
990
|
+
"anchor": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Anchor label." },
|
|
991
|
+
"href": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Destination URL." },
|
|
992
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the label." },
|
|
993
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide the anchor." },
|
|
994
|
+
"target": { "$ref": "#/definitions/targetValue" }
|
|
995
|
+
}
|
|
996
|
+
},
|
|
997
|
+
"group": {
|
|
998
|
+
"type": "object",
|
|
999
|
+
"anyOf": [{ "required": ["$ref"] }, { "required": ["group", "pages"] }],
|
|
1000
|
+
"additionalProperties": false,
|
|
1001
|
+
"properties": {
|
|
1002
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
1003
|
+
"group": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Group heading shown in the sidebar." },
|
|
1004
|
+
"root": {
|
|
1005
|
+
"allOf": [{ "$ref": "#/definitions/stringValue" }],
|
|
1006
|
+
"description": "Optional landing page for the group. When set, the group title links to this page (chevron still expands/collapses)."
|
|
1007
|
+
},
|
|
1008
|
+
"pages": { "$ref": "#/definitions/pageItemList" },
|
|
1009
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the heading." },
|
|
1010
|
+
"expanded": {
|
|
1011
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
1012
|
+
"description": "When true, nested groups start expanded. Top-level groups start expanded by default. Groups that contain the current page always expand."
|
|
1013
|
+
},
|
|
1014
|
+
"collapsible": {
|
|
1015
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
1016
|
+
"description": "When false, the group stays expanded and its heading does not show a collapse control."
|
|
1017
|
+
},
|
|
1018
|
+
"hidden": {
|
|
1019
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
1020
|
+
"description": "Hide the group and its pages from the sidebar."
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
},
|
|
1024
|
+
"dropdown": {
|
|
1025
|
+
"type": "object",
|
|
1026
|
+
"allOf": [
|
|
1027
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["dropdown"] }] },
|
|
1028
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["groups"] }, { "required": ["pages"] }] }
|
|
1029
|
+
],
|
|
1030
|
+
"additionalProperties": false,
|
|
1031
|
+
"properties": {
|
|
1032
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
1033
|
+
"dropdown": {
|
|
1034
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
1035
|
+
"description": "Dropdown label rendered by the selected theme."
|
|
1036
|
+
},
|
|
1037
|
+
"groups": { "$ref": "#/definitions/groupList" },
|
|
1038
|
+
"pages": { "$ref": "#/definitions/pageItemList" },
|
|
1039
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the label." },
|
|
1040
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide the dropdown." }
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
"tab": {
|
|
1044
|
+
"type": "object",
|
|
1045
|
+
"allOf": [
|
|
1046
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["tab"] }] },
|
|
1047
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["groups"] }, { "required": ["pages"] }, { "required": ["dropdowns"] }, { "required": ["href"] }] },
|
|
1048
|
+
{ "not": { "anyOf": [{ "required": ["href", "groups"] }, { "required": ["href", "pages"] }, { "required": ["href", "dropdowns"] }] } }
|
|
1049
|
+
],
|
|
1050
|
+
"additionalProperties": false,
|
|
1051
|
+
"properties": {
|
|
1052
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
1053
|
+
"tab": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Tab label shown in the top navigation." },
|
|
1054
|
+
"groups": { "$ref": "#/definitions/groupList" },
|
|
1055
|
+
"pages": { "$ref": "#/definitions/pageItemList" },
|
|
1056
|
+
"dropdowns": { "$ref": "#/definitions/dropdownList" },
|
|
1057
|
+
"href": { "allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }], "description": "Link tab: navigates to this URL (a standalone page or external site) instead of owning docs pages. Cannot be combined with groups, pages, or dropdowns." },
|
|
1058
|
+
"icon": { "allOf": [{ "$ref": "#/definitions/stringValue" }], "description": "Icon name shown beside the tab label." },
|
|
1059
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide the tab from the top navigation." }
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1062
|
+
"version": {
|
|
1063
|
+
"type": "object",
|
|
1064
|
+
"allOf": [
|
|
1065
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["version"] }] },
|
|
1066
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["tabs"] }, { "required": ["dropdowns"] }, { "required": ["groups"] }, { "required": ["pages"] }] }
|
|
1067
|
+
],
|
|
1068
|
+
"not": {
|
|
1069
|
+
"anyOf": [
|
|
1070
|
+
{ "required": ["tabs", "dropdowns"] },
|
|
1071
|
+
{ "required": ["tabs", "groups"] },
|
|
1072
|
+
{ "required": ["tabs", "pages"] },
|
|
1073
|
+
{ "required": ["dropdowns", "groups"] },
|
|
1074
|
+
{ "required": ["dropdowns", "pages"] }
|
|
1075
|
+
]
|
|
1076
|
+
},
|
|
1077
|
+
"additionalProperties": false,
|
|
1078
|
+
"properties": {
|
|
1079
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
1080
|
+
"version": {
|
|
1081
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
1082
|
+
"description": "Version label, shown in the version selector. Every version builds; page references determine its URLs."
|
|
1083
|
+
},
|
|
1084
|
+
"default": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Marks this version as the default. At most one version may be the default; without one, the first visible version is used." },
|
|
1085
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide this version from the version selector, sitemap, and search. Its pages still build and stay reachable by URL." },
|
|
1086
|
+
"tabs": { "$ref": "#/definitions/tabList" },
|
|
1087
|
+
"dropdowns": { "$ref": "#/definitions/dropdownList" },
|
|
1088
|
+
"groups": { "$ref": "#/definitions/groupList" },
|
|
1089
|
+
"pages": { "$ref": "#/definitions/pageItemList" }
|
|
1090
|
+
}
|
|
1091
|
+
},
|
|
1092
|
+
"language": {
|
|
1093
|
+
"type": "object",
|
|
1094
|
+
"allOf": [
|
|
1095
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["language"] }] },
|
|
1096
|
+
{ "anyOf": [{ "required": ["$ref"] }, { "required": ["versions"] }, { "required": ["tabs"] }, { "required": ["dropdowns"] }, { "required": ["groups"] }, { "required": ["pages"] }] }
|
|
1097
|
+
],
|
|
1098
|
+
"not": {
|
|
1099
|
+
"anyOf": [
|
|
1100
|
+
{ "required": ["tabs", "dropdowns"] },
|
|
1101
|
+
{ "required": ["tabs", "versions"] },
|
|
1102
|
+
{ "required": ["tabs", "groups"] },
|
|
1103
|
+
{ "required": ["tabs", "pages"] },
|
|
1104
|
+
{ "required": ["dropdowns", "versions"] },
|
|
1105
|
+
{ "required": ["dropdowns", "groups"] },
|
|
1106
|
+
{ "required": ["dropdowns", "pages"] },
|
|
1107
|
+
{ "required": ["versions", "groups"] },
|
|
1108
|
+
{ "required": ["versions", "pages"] }
|
|
1109
|
+
]
|
|
1110
|
+
},
|
|
1111
|
+
"additionalProperties": false,
|
|
1112
|
+
"properties": {
|
|
1113
|
+
"$ref": { "$ref": "#/definitions/configRef" },
|
|
1114
|
+
"language": {
|
|
1115
|
+
"allOf": [{ "$ref": "#/definitions/nonEmptyStringValue" }],
|
|
1116
|
+
"description": "Language code (e.g. \"es\"), shown in the language selector and used as the page locale when valid. Every language builds; page references determine its URLs."
|
|
1117
|
+
},
|
|
1118
|
+
"default": {
|
|
1119
|
+
"allOf": [{ "$ref": "#/definitions/booleanValue" }],
|
|
1120
|
+
"description": "Marks this language as the default. At most one language may be the default; without one, the first visible language is used."
|
|
1121
|
+
},
|
|
1122
|
+
"hidden": { "allOf": [{ "$ref": "#/definitions/booleanValue" }], "description": "Hide this language from the language selector, sitemap, and search. Its pages still build and stay reachable by URL." },
|
|
1123
|
+
"versions": { "$ref": "#/definitions/versionList" },
|
|
1124
|
+
"tabs": { "$ref": "#/definitions/tabList" },
|
|
1125
|
+
"dropdowns": { "$ref": "#/definitions/dropdownList" },
|
|
1126
|
+
"groups": { "$ref": "#/definitions/groupList" },
|
|
1127
|
+
"pages": { "$ref": "#/definitions/pageItemList" }
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
}
|