jekyll-open-sdg-plugins 1.1.0 → 1.2.0.pre.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1153 @@
1
+ {
2
+ "type": "object",
3
+ "title": "Open SDG site configuration",
4
+ "description": "This form will produce the site configuration for your Open SDG implementation.",
5
+ "properties": {
6
+ "accessible_charts": {
7
+ "title": "Accessible charts",
8
+ "type": "boolean",
9
+ "description": "This setting can be set to `true` to enable chart functionality that is intended to increase accessibility by adding support for screenreaders and keyboard navigation.",
10
+ "format": "checkbox",
11
+ "links": [
12
+ {
13
+ "rel": "More information",
14
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#accessible_charts"
15
+ }
16
+ ]
17
+ },
18
+ "accessible_tabs": {
19
+ "title": "Accessible tabs",
20
+ "type": "boolean",
21
+ "description": "This setting can be set to `true` to enable tab functionality that is compliant with the WAI-ARIA best practices. This adds improved keyboard navigation of the tabs.",
22
+ "format": "checkbox",
23
+ "links": [
24
+ {
25
+ "rel": "More information",
26
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#accessible_tabs"
27
+ }
28
+ ]
29
+ },
30
+ "analytics": {
31
+ "options": {"collapsed": true},
32
+ "type": "object",
33
+ "title": "Analytics",
34
+ "description": "If these settings are used, usage statistics will be sent to Google Analytics.",
35
+ "properties": {
36
+ "ga_prod": {
37
+ "type": "string",
38
+ "title": "Google Analytics tracking ID",
39
+ "description": "The tracking ID (UA code) for your property on Google Analytics."
40
+ }
41
+ },
42
+ "links": [
43
+ {
44
+ "rel": "More information",
45
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#analytics"
46
+ }
47
+ ]
48
+ },
49
+ "breadcrumbs": {
50
+ "options": {"collapsed": true},
51
+ "type": "object",
52
+ "title": "Breadcrumbs",
53
+ "description": "This can contain breadcrumb settings for each of the supported collection types: goal, indicator, and post. Each should have a list of label/path objects.",
54
+ "properties": {
55
+ "goal": {
56
+ "options": {"collapsed": true},
57
+ "format": "table",
58
+ "type": "array",
59
+ "title": "Goal breadcrumbs",
60
+ "description": "The breadcrumb items for goal pages.",
61
+ "items": {
62
+ "$ref": "#/definitions/breadcrumb_item"
63
+ }
64
+ },
65
+ "indicator": {
66
+ "options": {"collapsed": true},
67
+ "format": "table",
68
+ "type": "array",
69
+ "title": "Indicator breadcrumbs",
70
+ "description": "The breadcrumb items for indicator pages. Note that there will automatically be a final item, which is a link to the goal that the indicator belongs to. You do not need to specify this, since it is done dynamically and automatically.",
71
+ "items": {
72
+ "$ref": "#/definitions/breadcrumb_item"
73
+ }
74
+ },
75
+ "post": {
76
+ "options": {"collapsed": true},
77
+ "format": "table",
78
+ "type": "array",
79
+ "title": "Post breadcrumbs",
80
+ "description": "The breadcrumb items for post pages.",
81
+ "items": {
82
+ "$ref": "#/definitions/breadcrumb_item"
83
+ }
84
+ }
85
+ },
86
+ "links": [
87
+ {
88
+ "rel": "More information",
89
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#breadcrumbs"
90
+ }
91
+ ]
92
+ },
93
+ "country": {
94
+ "options": {"collapsed": true},
95
+ "type": "object",
96
+ "title": "Country information",
97
+ "description": "Information about your country (or region, locality, etc.)",
98
+ "properties": {
99
+ "name": {
100
+ "type": "string",
101
+ "title": "Name",
102
+ "description": "The name of your country/region/locality/etc.",
103
+ "minLength": 1
104
+ },
105
+ "adjective": {
106
+ "type": "string",
107
+ "title": "Adjective",
108
+ "description": "Adjective form of your country/region/locality/etc.",
109
+ "minLength": 1
110
+ }
111
+ },
112
+ "links": [
113
+ {
114
+ "rel": "More information",
115
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#country"
116
+ }
117
+ ]
118
+ },
119
+ "create_goals": {
120
+ "options": {"collapsed": true},
121
+ "type": "object",
122
+ "title": "Create goals",
123
+ "description": "This setting can be used to automatically create the goal pages.",
124
+ "properties": {
125
+ "layout": {
126
+ "type": "string",
127
+ "title": "Layout",
128
+ "description": "The layout to use for the goal pages."
129
+ }
130
+ },
131
+ "links": [
132
+ {
133
+ "rel": "More information",
134
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#create_goals"
135
+ }
136
+ ]
137
+ },
138
+ "create_indicators": {
139
+ "options": {"collapsed": true},
140
+ "type": "object",
141
+ "title": "Create indicators",
142
+ "description": "This setting can be used to automatically create the indicator pages.",
143
+ "properties": {
144
+ "layout": {
145
+ "type": "string",
146
+ "title": "Layout",
147
+ "description": "The layout to use for the indicator pages."
148
+ }
149
+ },
150
+ "links": [
151
+ {
152
+ "rel": "More information",
153
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#create_indicators"
154
+ }
155
+ ]
156
+ },
157
+ "create_pages": {
158
+ "options": {"collapsed": true},
159
+ "format": "table",
160
+ "type": "array",
161
+ "title": "Create pages",
162
+ "description": "This setting can be used to automatically create the pages.",
163
+ "items": {
164
+ "type": "object",
165
+ "title": "Page",
166
+ "properties": {
167
+ "filename": {
168
+ "type": "string",
169
+ "title": "Filename",
170
+ "description": "The filename for the page - usually 'index.html'."
171
+ },
172
+ "folder": {
173
+ "type": "string",
174
+ "minLength": 1,
175
+ "title": "Folder",
176
+ "description": "The folder path for the page."
177
+ },
178
+ "layout": {
179
+ "type": "string",
180
+ "minLength": 1,
181
+ "title": "Layout",
182
+ "description": "The layout to use for the page."
183
+ },
184
+ "title": {
185
+ "type": "string",
186
+ "title": "Title",
187
+ "description": "The page title for the page."
188
+ }
189
+ }
190
+ },
191
+ "links": [
192
+ {
193
+ "rel": "More information",
194
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#create_pages"
195
+ }
196
+ ]
197
+ },
198
+ "custom_css": {
199
+ "options": {"collapsed": true},
200
+ "format": "table",
201
+ "type": "array",
202
+ "title": "Custom CSS files",
203
+ "description": "Deprecated: instead of using this, it is recommended to put custom CSS in a _sass/custom.scss file.",
204
+ "items": {
205
+ "type": "string",
206
+ "title": "Custom CSS file"
207
+ },
208
+ "links": [
209
+ {
210
+ "rel": "More information",
211
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#custom_css"
212
+ }
213
+ ]
214
+ },
215
+ "custom_js": {
216
+ "options": {"collapsed": true},
217
+ "format": "table",
218
+ "type": "array",
219
+ "title": "Custom JavaScript files",
220
+ "description": "This setting can be used to load additional JavaScript files on each page.",
221
+ "items": {
222
+ "type": "string",
223
+ "title": "Custom JavaScript file"
224
+ },
225
+ "links": [
226
+ {
227
+ "rel": "More information",
228
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#custom_js"
229
+ }
230
+ ]
231
+ },
232
+ "data_edit_url": {
233
+ "type": "string",
234
+ "minLength": 1,
235
+ "title": "Data edit URL",
236
+ "description": "This setting controls the URL of the 'Edit Data' buttons that appear on the staging site's indicator pages.",
237
+ "links": [
238
+ {
239
+ "rel": "More information",
240
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#data_edit_url"
241
+ }
242
+ ]
243
+ },
244
+ "date_formats": {
245
+ "options": {"collapsed": true},
246
+ "format": "table",
247
+ "type": "array",
248
+ "title": "Date formats",
249
+ "description": "This setting can be used to control date formats for use in the site, such as in the news/category/post layouts. Any number date formats can be entered, and each must have an arbitrary type, such as `standard`. Make sure that each type has a variant for each of your languages.",
250
+ "items": {
251
+ "type": "object",
252
+ "title": "Date format",
253
+ "properties": {
254
+ "type": {
255
+ "type": "string",
256
+ "minLength": 1,
257
+ "title": "Type",
258
+ "description": "Use `standard` for news/post dates."
259
+ },
260
+ "language": {
261
+ "type": "string",
262
+ "minLength": 1,
263
+ "title": "Language",
264
+ "description": "Language code the format applies to."
265
+ },
266
+ "format": {
267
+ "type": "string",
268
+ "minLength": 1,
269
+ "title": "Format",
270
+ "description": "Ruby DateTime date format."
271
+ }
272
+ }
273
+ },
274
+ "links": [
275
+ {
276
+ "rel": "More information",
277
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#date_formats"
278
+ }
279
+ ]
280
+ },
281
+ "disclaimer": {
282
+ "options": {"collapsed": true},
283
+ "type": "object",
284
+ "title": "Disclaimer",
285
+ "description": "This setting controls the content of the disclaimer that appears at the top of each page.",
286
+ "properties": {
287
+ "phase": {
288
+ "type": "string",
289
+ "title": "Phase",
290
+ "description": "The development phase of your platform (alpha, beta, etc.)"
291
+ },
292
+ "message": {
293
+ "type": "string",
294
+ "title": "Message",
295
+ "description": "A short disclaimer message."
296
+ }
297
+ },
298
+ "links": [
299
+ {
300
+ "rel": "More information",
301
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#disclaimer"
302
+ }
303
+ ]
304
+ },
305
+ "email_contacts": {
306
+ "options": {"collapsed": true},
307
+ "type": "object",
308
+ "title": "Email addresses",
309
+ "description": "Email addresses to publish on your platform.",
310
+ "properties": {
311
+ "questions": {
312
+ "type": "string",
313
+ "minLength": 1,
314
+ "format": "email",
315
+ "title": "Questions",
316
+ "description": "Inbox for questions about your platform."
317
+ },
318
+ "suggestions": {
319
+ "type": "string",
320
+ "minLength": 1,
321
+ "format": "email",
322
+ "title": "Suggestions",
323
+ "description": "Inbox for suggestions for your platform."
324
+ },
325
+ "functional": {
326
+ "type": "string",
327
+ "minLength": 1,
328
+ "format": "email",
329
+ "title": "Functional",
330
+ "description": "Inbox for bug reports for your platform."
331
+ }
332
+ },
333
+ "links": [
334
+ {
335
+ "rel": "More information",
336
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#email_contacts"
337
+ }
338
+ ]
339
+ },
340
+ "environment": {
341
+ "type": "string",
342
+ "minLength": 1,
343
+ "title": "Environment",
344
+ "description": "Which environment (staging or production) this configuration is for.",
345
+ "format": "choices",
346
+ "enum": ["staging", "production"],
347
+ "links": [
348
+ {
349
+ "rel": "More information",
350
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#environment"
351
+ }
352
+ ]
353
+ },
354
+ "footer_language_toggle": {
355
+ "type": "string",
356
+ "title": "Footer language toggle",
357
+ "description": "This setting controls the type of language toggle to be used in the footer.",
358
+ "format": "choices",
359
+ "enum": ["none", "dropdown", "links"],
360
+ "links": [
361
+ {
362
+ "rel": "More information",
363
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#footer_language_toggle"
364
+ }
365
+ ]
366
+ },
367
+ "footer_menu": {
368
+ "options": {"collapsed": true},
369
+ "format": "table",
370
+ "type": "array",
371
+ "title": "Footer menu",
372
+ "description": "The links to display in the footer menu.",
373
+ "items": {
374
+ "$ref": "#/definitions/menu_item"
375
+ },
376
+ "links": [
377
+ {
378
+ "rel": "More information",
379
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#footer_menu"
380
+ }
381
+ ]
382
+ },
383
+ "frontpage_cards": {
384
+ "options": {"collapsed": true},
385
+ "type": "array",
386
+ "title": "Frontpage cards",
387
+ "description": "This setting is only used in the frontpage-alt layout. It can display any number of 'cards' in 3-column rows, beneath the grid of goal tiles.",
388
+ "items": {
389
+ "type": "object",
390
+ "title": "Frontpage card",
391
+ "properties": {
392
+ "title": {
393
+ "type": "string",
394
+ "minLength": 1,
395
+ "title": "Title",
396
+ "description": "The card's title."
397
+ },
398
+ "content": {
399
+ "type": "string",
400
+ "title": "Content",
401
+ "description": "The card's content.",
402
+ "format": "markdown"
403
+ },
404
+ "include": {
405
+ "type": "string",
406
+ "title": "Include file",
407
+ "description": "A Jekyll include file to place inside the card."
408
+ },
409
+ "button_label": {
410
+ "type": "string",
411
+ "title": "Button label",
412
+ "description": "A label for a button to display at the bottom of the card."
413
+ },
414
+ "button_link": {
415
+ "type": "string",
416
+ "title": "Button link",
417
+ "description": "A path or URL for the card's button to link to."
418
+ },
419
+ "rule_color": {
420
+ "type": "string",
421
+ "title": "Rule color",
422
+ "description": "The color of the horizontal line appearing above the card."
423
+ }
424
+ }
425
+ },
426
+ "links": [
427
+ {
428
+ "rel": "More information",
429
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#frontpage_cards"
430
+ }
431
+ ]
432
+ },
433
+ "frontpage_goals_grid": {
434
+ "options": {"collapsed": true},
435
+ "type": "object",
436
+ "title": "Frontpage goals grid",
437
+ "description": "This setting is only used in the frontpage-alt layout. It can display a title and description above the grid of goal tiles.",
438
+ "$ref": "#/definitions/title_and_description",
439
+ "links": [
440
+ {
441
+ "rel": "More information",
442
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#frontpage_goals_grid"
443
+ }
444
+ ]
445
+ },
446
+ "frontpage_heading": {
447
+ "type": "string",
448
+ "title": "Frontpage heading",
449
+ "description": "This setting can control the heading that appears on the front page. This setting is only used in the frontpage layout.",
450
+ "links": [
451
+ {
452
+ "rel": "More information",
453
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#frontpage_heading"
454
+ }
455
+ ]
456
+ },
457
+ "frontpage_instructions": {
458
+ "type": "string",
459
+ "title": "Frontpage instructions",
460
+ "description": "This setting can control the instructions that appear on the front page. This setting is only used in the frontpage layout.",
461
+ "links": [
462
+ {
463
+ "rel": "More information",
464
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#frontpage_instructions"
465
+ }
466
+ ]
467
+ },
468
+ "frontpage_introduction_banner": {
469
+ "options": {"collapsed": true},
470
+ "type": "object",
471
+ "title": "Frontpage introduction banner",
472
+ "description": "This setting is only used in the frontpage-alt layout. It can display a title and description in a banner at the top of the frontpage.",
473
+ "$ref": "#/definitions/title_and_description",
474
+ "links": [
475
+ {
476
+ "rel": "More information",
477
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#frontpage_introduction_banner"
478
+ }
479
+ ]
480
+ },
481
+ "goal_image_base": {
482
+ "type": "string",
483
+ "minLength": 1,
484
+ "title": "Goal image base URL",
485
+ "description": "This setting controls the base URL for downloading the imagery for the goals.",
486
+ "links": [
487
+ {
488
+ "rel": "More information",
489
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#goal_image_base"
490
+ }
491
+ ]
492
+ },
493
+ "goal_image_extension": {
494
+ "type": "string",
495
+ "title": "Goal image extension",
496
+ "description": "This setting controls the type of file (the file extension) that will be used for the goal images.",
497
+ "links": [
498
+ {
499
+ "rel": "More information",
500
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#goal_image_extension"
501
+ }
502
+ ]
503
+ },
504
+ "goals_page": {
505
+ "options": {"collapsed": true},
506
+ "type": "object",
507
+ "title": "Goals page",
508
+ "description": "This setting is used in the 'goals' layout. It can display a title and description above the grid of goal tiles.",
509
+ "$ref": "#/definitions/title_and_description",
510
+ "links": [
511
+ {
512
+ "rel": "More information",
513
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#goals_page"
514
+ }
515
+ ]
516
+ },
517
+ "graph_color_set": {
518
+ "type": "string",
519
+ "title": "Graph color set",
520
+ "description": "This setting can be used to customize the color set used in the charts.",
521
+ "examples": [],
522
+ "format": "choices",
523
+ "enum": ["default", "sdg", "goal", "custom"],
524
+ "links": [
525
+ {
526
+ "rel": "More information",
527
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#graph_color_set"
528
+ }
529
+ ]
530
+ },
531
+ "graph_color_list": {
532
+ "options": {"collapsed": true},
533
+ "format": "table",
534
+ "type": "array",
535
+ "title": "Graph color list",
536
+ "description": "This setting can be used to define a set of colors to be used in the charts. This is only used when graph_color_set is 'custom'.",
537
+ "items": {
538
+ "type": "string",
539
+ "format": "color",
540
+ "title": "Color",
541
+ "description": "Hexadecimal color code"
542
+ },
543
+ "links": [
544
+ {
545
+ "rel": "More information",
546
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#graph_color_list"
547
+ }
548
+ ]
549
+ },
550
+ "graph_color_number": {
551
+ "title": "Graph color number",
552
+ "type": "integer",
553
+ "description": "This setting can be used to limit the length of the list of colors selected via graph_color_set.",
554
+ "links": [
555
+ {
556
+ "rel": "More information",
557
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#graph_color_number"
558
+ }
559
+ ]
560
+ },
561
+ "header_language_toggle": {
562
+ "type": "string",
563
+ "title": "Header language toggle",
564
+ "description": "This setting controls the type of language toggle to be used in the header.",
565
+ "format": "choices",
566
+ "enum": ["none", "dropdown", "links"],
567
+ "links": [
568
+ {
569
+ "rel": "More information",
570
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#header_language_toggle"
571
+ }
572
+ ]
573
+ },
574
+ "hide_empty_metadata": {
575
+ "title": "Hide empty metadata",
576
+ "type": "boolean",
577
+ "description": "This setting can be used to hide any metadata fields that are empty.",
578
+ "format": "checkbox",
579
+ "links": [
580
+ {
581
+ "rel": "More information",
582
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#hide_empty_metadata"
583
+ }
584
+ ]
585
+ },
586
+ "indicator_config_form": {
587
+ "options": {"collapsed": true},
588
+ "type": "object",
589
+ "title": "Indicator configuration form",
590
+ "description": "Configuration of the indicator configuration form.",
591
+ "$ref": "#/definitions/config_form_options"
592
+ },
593
+ "languages": {
594
+ "options": {"collapsed": true},
595
+ "format": "table",
596
+ "type": "array",
597
+ "minItems": 1,
598
+ "title": "Languages",
599
+ "description": "This setting controls the languages to be used on the site.",
600
+ "items": {
601
+ "type": "string",
602
+ "minLength": 1,
603
+ "title": "Language"
604
+ },
605
+ "links": [
606
+ {
607
+ "rel": "More information",
608
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#languages"
609
+ }
610
+ ]
611
+ },
612
+ "languages_public": {
613
+ "options": {"collapsed": true},
614
+ "format": "table",
615
+ "type": "array",
616
+ "title": "Language code overrides",
617
+ "description": "This setting can be used if you are not happy with any of the standard language codes.",
618
+ "items": {
619
+ "type": "object",
620
+ "title": "Language override",
621
+ "properties": {
622
+ "language": {
623
+ "type": "string",
624
+ "minLength": 1,
625
+ "title": "Language",
626
+ "description": "The (standard) language code that you would like to override."
627
+ },
628
+ "language_public": {
629
+ "type": "string",
630
+ "minLength": 1,
631
+ "title": "Language override",
632
+ "description": "The (non-standard) language code that you would like show the public instead."
633
+ }
634
+ }
635
+ },
636
+ "links": [
637
+ {
638
+ "rel": "More information",
639
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#languages_public"
640
+ }
641
+ ]
642
+ },
643
+ "map_layers": {
644
+ "options": {"collapsed": true},
645
+ "format": "table",
646
+ "type": "array",
647
+ "title": "Map layers",
648
+ "description": "Configure any number of layers to display on all indicator maps. A minimum of one layer is required to display maps.",
649
+ "items": {
650
+ "type": "object",
651
+ "title": "Map layer",
652
+ "properties": {
653
+ "subfolder": {
654
+ "type": "string",
655
+ "title": "Subfolder",
656
+ "description": "The subfolder under 'geojson' in the data repository holding the GeoJSON file for this layer."
657
+ },
658
+ "label": {
659
+ "type": "string",
660
+ "title": "Download button label",
661
+ "description": "The label to use in the 'Download GeoJSON' button for this layer."
662
+ },
663
+ "min_zoom": {
664
+ "type": "integer",
665
+ "title": "Minimum zoom",
666
+ "description": "This layer will only be visible when the map is zoomed to at least this number."
667
+ },
668
+ "max_zoom": {
669
+ "type": "integer",
670
+ "title": "Maximum zoom",
671
+ "description": "The layer will not be visible when the map is zoomed beyond this number."
672
+ },
673
+ "staticBorders": {
674
+ "type": "boolean",
675
+ "format": "checkbox",
676
+ "title": "Static borders",
677
+ "description": "Whether the borders on this layer should remain visible when the map is zoomed past the maximum."
678
+ }
679
+ }
680
+ },
681
+ "links": [
682
+ {
683
+ "rel": "More information",
684
+ "href": "https://open-sdg.readthedocs.io/en/latest/maps/#map_layers"
685
+ }
686
+ ]
687
+ },
688
+ "map_options": {
689
+ "options": {"collapsed": true},
690
+ "type": "object",
691
+ "title": "Map options",
692
+ "description": "Site-wide configuration of map behavior and style.",
693
+ "default": {
694
+ "minZoom": 5,
695
+ "maxZoom": 10,
696
+ "colorRange": "chroma.brewer.BuGn",
697
+ "noValueColor": "#f0f0f0",
698
+ "styleNormal": {
699
+ "weight": 1,
700
+ "opacity": 1,
701
+ "fillOpacity": 0.7,
702
+ "color": "#888888"
703
+ },
704
+ "styleHighlighted": {
705
+ "weight": 1,
706
+ "opacity": 1,
707
+ "fillOpacity": 0.7,
708
+ "color": "#111111"
709
+ },
710
+ "styleStatic": {
711
+ "weight": 2,
712
+ "opacity": 1,
713
+ "fillOpacity": 0,
714
+ "color": "#172d44",
715
+ "dashArray": "5,5"
716
+ }
717
+ },
718
+ "properties": {
719
+ "minZoom": {
720
+ "title": "Minimum zoom",
721
+ "type": "integer",
722
+ "description": "The lowest amount of 'zoom' possible for users."
723
+ },
724
+ "maxZoom": {
725
+ "title": "Maximum zoom",
726
+ "type": "integer",
727
+ "description": "The highest amount of 'zoom' possible for users."
728
+ },
729
+ "tileURL": {
730
+ "title": "Tile URL",
731
+ "type": "string",
732
+ "format": "url",
733
+ "description": "If you would like the maps to show tile imagery, add the URL here."
734
+ },
735
+ "tileOptions": {
736
+ "title": "Tile options",
737
+ "type": "object",
738
+ "options": {"collapsed": true},
739
+ "description": "Additional options for map tile imagery.",
740
+ "properties": {
741
+ "id": {
742
+ "type": "string",
743
+ "title": "Tile ID"
744
+ },
745
+ "accessToken": {
746
+ "type": "string",
747
+ "title": "Access token"
748
+ },
749
+ "attribution": {
750
+ "type": "string",
751
+ "title": "Attribution"
752
+ }
753
+ }
754
+ },
755
+ "colorRange": {
756
+ "type": "string",
757
+ "title": "Color range",
758
+ "description": "The color range for the choropleth map.",
759
+ "links": [
760
+ {
761
+ "ref": "More information",
762
+ "href": "https://gka.github.io/chroma.js/#chroma-brewer"
763
+ }
764
+ ]
765
+ },
766
+ "noValueColor": {
767
+ "type": "string",
768
+ "format": "color",
769
+ "title": "No-value color",
770
+ "description": "Color for boundaries that have no data."
771
+ },
772
+ "styleNormal": {
773
+ "type": "object",
774
+ "format": "table",
775
+ "title": "Style (normal)",
776
+ "description": "Style for boundaries in normal state",
777
+ "$ref": "#/definitions/map_style"
778
+ },
779
+ "styleHighlighted": {
780
+ "type": "object",
781
+ "format": "table",
782
+ "title": "Style (highlighted)",
783
+ "description": "Style for boundaries in highlighted state",
784
+ "$ref": "#/definitions/map_style"
785
+ },
786
+ "styleStatic": {
787
+ "type": "object",
788
+ "format": "table",
789
+ "title": "Style (static)",
790
+ "description": "Style for boundaries in static state (map layers using the 'static boundaries' option).",
791
+ "$ref": "#/definitions/map_style"
792
+ }
793
+ },
794
+ "links": [
795
+ {
796
+ "rel": "More information",
797
+ "href": "https://open-sdg.readthedocs.io/en/latest/maps/#map_options"
798
+ }
799
+ ]
800
+ },
801
+ "menu": {
802
+ "options": {"collapsed": true},
803
+ "format": "table",
804
+ "type": "array",
805
+ "minItems": 1,
806
+ "title": "Main menu",
807
+ "description": "The links to display in the main menu.",
808
+ "items": {
809
+ "$ref": "#/definitions/menu_item"
810
+ },
811
+ "links": [
812
+ {
813
+ "rel": "More information",
814
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#menu"
815
+ }
816
+ ]
817
+ },
818
+ "metadata_edit_url": {
819
+ "type": "string",
820
+ "minLength": 1,
821
+ "title": "Metadata edit URL",
822
+ "description": "This setting controls the URL of the 'Edit Metadata' buttons that appear on the staging site's indicator pages.",
823
+ "links": [
824
+ {
825
+ "rel": "More information",
826
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#metadata_edit_url"
827
+ }
828
+ ]
829
+ },
830
+ "metadata_tabs": {
831
+ "options": {"collapsed": true},
832
+ "format": "table",
833
+ "type": "array",
834
+ "title": "Metadata tabs",
835
+ "description": "This setting can control the metadata tabs which appear on the indicator pages.",
836
+ "items": {
837
+ "type": "object",
838
+ "title": "Metadata tab",
839
+ "properties": {
840
+ "scope": {
841
+ "type": "string",
842
+ "minLength": 1,
843
+ "title": "Scope",
844
+ "description": "This tab will contain fields in the specific `scope` in your data repository's metadata schema file (eg, `_prose.yml`)."
845
+ },
846
+ "title": {
847
+ "type": "string",
848
+ "minLength": 1,
849
+ "title": "Title",
850
+ "description": "The title of the metadata tab."
851
+ },
852
+ "description": {
853
+ "type": "string",
854
+ "title": "Description",
855
+ "description": "A descriptive blurb to show at the top of the tab content.",
856
+ "format": "markdown"
857
+ }
858
+ }
859
+ },
860
+ "links": [
861
+ {
862
+ "rel": "More information",
863
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#metadata_tabs"
864
+ }
865
+ ]
866
+ },
867
+ "news": {
868
+ "options": {"collapsed": true},
869
+ "type": "object",
870
+ "title": "News",
871
+ "description": "Configuration related to news updates and posts.",
872
+ "properties": {
873
+ "category_links": {
874
+ "title": "Category links",
875
+ "type": "boolean",
876
+ "description": "Whether you would like the 'categories' of posts to generate links to dedicated category pages.",
877
+ "format": "checkbox"
878
+ }
879
+ },
880
+ "links": [
881
+ {
882
+ "rel": "More information",
883
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#news"
884
+ }
885
+ ]
886
+ },
887
+ "non_global_metadata": {
888
+ "type": "string",
889
+ "title": "Non-global metadata",
890
+ "description": "This setting can be used to control the text of the tab containing non-global metadata.",
891
+ "links": [
892
+ {
893
+ "rel": "More information",
894
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#non_global_metadata"
895
+ }
896
+ ]
897
+ },
898
+ "remote_data_prefix": {
899
+ "type": "string",
900
+ "minLength": 1,
901
+ "title": "Remote data repository URL",
902
+ "description": "Specify the URL of your published data repository.",
903
+ "links": [
904
+ {
905
+ "rel": "More information",
906
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#remote_data_prefix"
907
+ }
908
+ ]
909
+ },
910
+ "reporting_status": {
911
+ "options": {"collapsed": true},
912
+ "type": "object",
913
+ "title": "Reporting status",
914
+ "description": "This setting is used in the 'reportingstatus' layout. It can display a title and description above the reporting status page.",
915
+ "$ref": "#/definitions/title_and_description",
916
+ "links": [
917
+ {
918
+ "rel": "More information",
919
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#reporting_status"
920
+ }
921
+ ]
922
+ },
923
+ "search_index_boost": {
924
+ "options": {"collapsed": true},
925
+ "format": "table",
926
+ "type": "array",
927
+ "title": "Search index boost",
928
+ "description": "This setting can be used to give a boost to one or more fields in the search index.",
929
+ "items": {
930
+ "type": "object",
931
+ "title": "Boost",
932
+ "properties": {
933
+ "field": {
934
+ "type": "string",
935
+ "minLength": 1,
936
+ "title": "Field",
937
+ "description": "Field to boost ('title', 'content', etc.)"
938
+ },
939
+ "boost": {
940
+ "type": "integer",
941
+ "minLength": 1,
942
+ "title": "Boost",
943
+ "description": "Higher boost means higher search ranking."
944
+ }
945
+ }
946
+ },
947
+ "links": [
948
+ {
949
+ "rel": "More information",
950
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#search_index_boost"
951
+ }
952
+ ]
953
+ },
954
+ "search_index_extra_fields": {
955
+ "options": {"collapsed": true},
956
+ "format": "table",
957
+ "type": "array",
958
+ "title": "Search index extra fields",
959
+ "description": "This setting can be used to index additional metadata fields in your indicators, for the purposes of affecting the site-wide search.",
960
+ "items": {
961
+ "type": "string",
962
+ "title": "Extra field"
963
+ },
964
+ "links": [
965
+ {
966
+ "rel": "More information",
967
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#search_index_extra_fields"
968
+ }
969
+ ]
970
+ },
971
+ "series_toggle": {
972
+ "title": "Series toggle",
973
+ "type": "boolean",
974
+ "description": "This setting enables the special treatment of the 'Series' column in the data. If set to true, when an indicator's data includes a 'Series' column, it will be displayed above 'Units' as radio buttons.",
975
+ "format": "checkbox",
976
+ "links": [
977
+ {
978
+ "rel": "More information",
979
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#series_toggle"
980
+ }
981
+ ]
982
+ },
983
+ "sharethis_property": {
984
+ "type": "string",
985
+ "title": "ShareThis property",
986
+ "description": "This setting creates a ShareThis widget along the left side of every page. It should be the property id for your ShareThis account.",
987
+ "links": [
988
+ {
989
+ "rel": "More information",
990
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#sharethis_property"
991
+ }
992
+ ]
993
+ },
994
+ "site_config_form": {
995
+ "options": {"collapsed": true},
996
+ "type": "object",
997
+ "title": "Site configuration form",
998
+ "description": "Configuration of the site configuration form.",
999
+ "$ref": "#/definitions/config_form_options"
1000
+ },
1001
+ "validate_indicator_config": {
1002
+ "title": "Validate indicator config",
1003
+ "type": "boolean",
1004
+ "description": "If checked, this will require that all indicators have valid Open SDG indicator configuration.",
1005
+ "format": "checkbox",
1006
+ "links": [
1007
+ {
1008
+ "rel": "More information",
1009
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#validate_indicator_config"
1010
+ }
1011
+ ]
1012
+ },
1013
+ "validate_site_config": {
1014
+ "title": "Validate site config",
1015
+ "type": "boolean",
1016
+ "description": "If checked, this will require valid site configuration.",
1017
+ "format": "checkbox",
1018
+ "links": [
1019
+ {
1020
+ "rel": "More information",
1021
+ "href": "https://open-sdg.readthedocs.io/en/latest/configuration/#validate_site_config"
1022
+ }
1023
+ ]
1024
+ }
1025
+ },
1026
+ "additionalProperties": true,
1027
+ "definitions": {
1028
+ "menu_item": {
1029
+ "type": "object",
1030
+ "title": "Menu item",
1031
+ "properties": {
1032
+ "path": {
1033
+ "type": "string",
1034
+ "minLength": 1,
1035
+ "title": "Path",
1036
+ "description": "Path or URL that the menu item should link to."
1037
+ },
1038
+ "translation_key": {
1039
+ "type": "string",
1040
+ "minLength": 1,
1041
+ "title": "Label",
1042
+ "description": "Label (or translation key) for the link."
1043
+ }
1044
+ }
1045
+ },
1046
+ "breadcrumb_item": {
1047
+ "type": "object",
1048
+ "title": "Breadcrumb item",
1049
+ "properties": {
1050
+ "path": {
1051
+ "type": "string",
1052
+ "minLength": 1,
1053
+ "title": "Path",
1054
+ "description": "Path or URL that the breadcrumb item should link to."
1055
+ },
1056
+ "label": {
1057
+ "type": "string",
1058
+ "minLength": 1,
1059
+ "title": "Label",
1060
+ "description": "Label (or translation key) for the breadcrumb item."
1061
+ }
1062
+ }
1063
+ },
1064
+ "title_and_description": {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "title": {
1068
+ "type": "string",
1069
+ "minLength": 1,
1070
+ "title": "Title"
1071
+ },
1072
+ "description": {
1073
+ "type": "string",
1074
+ "minLength": 1,
1075
+ "title": "Description",
1076
+ "format": "markdown"
1077
+ }
1078
+ }
1079
+ },
1080
+ "map_style": {
1081
+ "properties": {
1082
+ "weight": {
1083
+ "type": "number",
1084
+ "title": "Weight",
1085
+ "description": "The weight (boldness) of boundary borders."
1086
+ },
1087
+ "opacity": {
1088
+ "type": "number",
1089
+ "title": "Opacity",
1090
+ "description": "The opacity of the boundary borders (between 0 and 1)."
1091
+ },
1092
+ "fillOpacity": {
1093
+ "type": "number",
1094
+ "title": "Fill opacity",
1095
+ "description": "The opacity of the boundaries' background color (between 0 and 1)."
1096
+ },
1097
+ "color": {
1098
+ "type": "string",
1099
+ "format": "color",
1100
+ "title": "Color",
1101
+ "description": "The color of the boundary borders."
1102
+ },
1103
+ "dashArray": {
1104
+ "type": "string",
1105
+ "title": "Dash array",
1106
+ "description": "A 'dash array' describing the boundary as dashed lines."
1107
+ }
1108
+ }
1109
+ },
1110
+ "config_form_options": {
1111
+ "type": "object",
1112
+ "properties": {
1113
+ "dropdowns": {
1114
+ "type": "array",
1115
+ "title": "Dropdown lists",
1116
+ "description": "Set options for any dropdown lists.",
1117
+ "items": {
1118
+ "type": "object",
1119
+ "format": "table",
1120
+ "title": "Dropdown list",
1121
+ "properties": {
1122
+ "jsonschema": {
1123
+ "type": "string",
1124
+ "title": "JSONSchema path",
1125
+ "description": "The jsonschema path to the dropdown field."
1126
+ },
1127
+ "values": {
1128
+ "type": "array",
1129
+ "format": "table",
1130
+ "title": "Values",
1131
+ "description": "List of dropdown option values",
1132
+ "items": {
1133
+ "type": "string",
1134
+ "title": "Value"
1135
+ }
1136
+ },
1137
+ "labels": {
1138
+ "type": "array",
1139
+ "format": "table",
1140
+ "title": "Labels",
1141
+ "description": "Optional list of dropdown option labels. Should correspond to the values above.",
1142
+ "items": {
1143
+ "type": "string",
1144
+ "title": "Label"
1145
+ }
1146
+ }
1147
+ }
1148
+ }
1149
+ }
1150
+ }
1151
+ }
1152
+ }
1153
+ }