jekyll-open-sdg-plugins 1.6.1 → 1.8.0.pre.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +16 -16
  3. data/.github/workflows/test-pull-requests.yml +17 -17
  4. data/.gitignore +6 -6
  5. data/LICENSE +21 -21
  6. data/Makefile +33 -33
  7. data/README.md +7 -7
  8. data/jekyll-open-sdg-plugins.gemspec +18 -18
  9. data/lib/jekyll-open-sdg-plugins/backwards_compatibility.rb +97 -64
  10. data/lib/jekyll-open-sdg-plugins/create_goals.rb +88 -85
  11. data/lib/jekyll-open-sdg-plugins/create_indicators.rb +209 -206
  12. data/lib/jekyll-open-sdg-plugins/create_pages.rb +150 -135
  13. data/lib/jekyll-open-sdg-plugins/fetch_remote_data.rb +188 -188
  14. data/lib/jekyll-open-sdg-plugins/helpers.rb +132 -132
  15. data/lib/jekyll-open-sdg-plugins/metadata_schema_to_config.rb +72 -72
  16. data/lib/jekyll-open-sdg-plugins/schema-indicator-config.json +787 -709
  17. data/lib/jekyll-open-sdg-plugins/schema-site-config.json +1712 -1607
  18. data/lib/jekyll-open-sdg-plugins/sdg_variables.rb +614 -549
  19. data/lib/jekyll-open-sdg-plugins/search_index.rb +102 -102
  20. data/lib/jekyll-open-sdg-plugins/site_configuration.rb +87 -73
  21. data/lib/jekyll-open-sdg-plugins/translate_date.rb +122 -122
  22. data/lib/jekyll-open-sdg-plugins/translate_key.rb +20 -20
  23. data/lib/jekyll-open-sdg-plugins/translate_metadata_field.rb +111 -111
  24. data/lib/jekyll-open-sdg-plugins/validate_indicator_config.rb +52 -52
  25. data/lib/jekyll-open-sdg-plugins/validate_site_config.rb +34 -34
  26. data/lib/jekyll-open-sdg-plugins/version.rb +3 -3
  27. data/lib/jekyll-open-sdg-plugins.rb +18 -18
  28. data/tests/Gemfile +7 -7
  29. data/tests/_config.yml +168 -168
  30. metadata +5 -5
@@ -1,709 +1,787 @@
1
- {
2
- "type": "object",
3
- "title": "Open SDG indicator configuration",
4
- "description": "This form will produce an indicator's configuration for your Open SDG implementation.",
5
- "properties": {
6
- "composite_breakdown_label": {
7
- "type": "string",
8
- "title": "Composite breakdown label",
9
- "description": "Used as a label for the COMPOSITE_BREAKDOWN column, if it appears in the indicator data.",
10
- "links": [
11
- {
12
- "rel": "More information on the composite breakdown label setting",
13
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#composite-breakdown-label"
14
- }
15
- ]
16
- },
17
- "computation_units": {
18
- "type": "string",
19
- "title": "Unit of measurement",
20
- "description": "Unit of measurement which displays below the indicator chart.",
21
- "links": [
22
- {
23
- "rel": "More information on the units of measurement setting",
24
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
25
- }
26
- ]
27
- },
28
- "copyright": {
29
- "type": "string",
30
- "title": "Copyright",
31
- "description": "Copyright which displays below the indicator chart.",
32
- "links": [
33
- {
34
- "rel": "More information on the copyright setting",
35
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#footer"
36
- }
37
- ]
38
- },
39
- "data_footnote": {
40
- "type": "string",
41
- "format": "markdown",
42
- "title": "Footnote",
43
- "description": "Footnote which displays below the indicator chart.",
44
- "links": [
45
- {
46
- "rel": "More information on the footnote setting",
47
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#footer"
48
- }
49
- ]
50
- },
51
- "data_non_statistical": {
52
- "title": "Non-statistical data",
53
- "type": "boolean",
54
- "description": "Whether the indicator is statistical (can be charted/graphed) or not.",
55
- "format": "checkbox",
56
- "links": [
57
- {
58
- "rel": "More information the non-statistical setting",
59
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
60
- }
61
- ]
62
- },
63
- "data_notice_class": {
64
- "title": "Data notice - class",
65
- "type": "string",
66
- "description": "A CSS class to apply to the data notice for this indicator.",
67
- "links": [
68
- {
69
- "rel": "More information on the data notice setting",
70
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
71
- }
72
- ]
73
- },
74
- "data_notice_heading": {
75
- "title": "Data notice - heading",
76
- "type": "string",
77
- "description": "A title to display above the data notice for this indicator.",
78
- "links": [
79
- {
80
- "rel": "More information on the data notice heading setting",
81
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
82
- }
83
- ]
84
- },
85
- "data_notice_text": {
86
- "title": "Data notice - text",
87
- "type": "string",
88
- "format": "markdown",
89
- "description": "Text to display as a data notice for this indicator, intended to contain very important information which site viewers must keep in mind when using the data provided.",
90
- "links": [
91
- {
92
- "rel": "More information on the data notice text setting",
93
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
94
- }
95
- ]
96
- },
97
- "data_show_map": {
98
- "title": "Show map",
99
- "type": "boolean",
100
- "description": "Whether the indicator should display a Map tab.",
101
- "format": "checkbox",
102
- "links": [
103
- {
104
- "rel": "More information on the map setting",
105
- "href": "https://open-sdg.readthedocs.io/en/latest/maps/#metadata-field-data_show_map"
106
- }
107
- ]
108
- },
109
- "data_start_values": {
110
- "options": {"collapsed": true},
111
- "type": "array",
112
- "title": "Starting values",
113
- "description": "Disaggregation values for a an indicator to start with already selected",
114
- "items": {
115
- "type": "object",
116
- "title": "Starting value",
117
- "properties": {
118
- "field": {
119
- "type": "string",
120
- "minLength": 1,
121
- "title": "Field",
122
- "description": "The field (column) name."
123
- },
124
- "value": {
125
- "type": "string",
126
- "minLength": 1,
127
- "title": "Value",
128
- "description": "The value in that field to pre-select."
129
- }
130
- }
131
- },
132
- "links": [
133
- {
134
- "rel": "More information on the starting values setting",
135
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#starting-values"
136
- }
137
- ]
138
- },
139
- "embedded_feature_footer": {
140
- "type": "string",
141
- "format": "markdown",
142
- "title": "Embedded feature - Footer",
143
- "description": "A footer that displays below the embedded feature. Only used with either embedded_feature_url or embedded_feature_html.",
144
- "links": [
145
- {
146
- "rel": "More information on the embed footer setting",
147
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
148
- }
149
- ]
150
- },
151
- "embedded_feature_html": {
152
- "type": "string",
153
- "format": "textarea",
154
- "title": "Embedded feature - HTML",
155
- "description": "Any HTML to display in another tab, after Chart/Table/etc.",
156
- "links": [
157
- {
158
- "rel": "More information on the embed HTML setting",
159
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
160
- }
161
- ]
162
- },
163
- "embedded_feature_tab_title": {
164
- "type": "string",
165
- "title": "Embedded feature - Tab Title",
166
- "description": "A title for the embedded feature tab (ie, Chart/Table/[this]). Only used with either embedded_feature_url or embedded_feature_html.",
167
- "links": [
168
- {
169
- "rel": "More information on the embed tab title setting",
170
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
171
- }
172
- ]
173
- },
174
- "embedded_feature_title": {
175
- "type": "string",
176
- "title": "Embedded feature - Title",
177
- "description": "A title that displays above the embedded feature. Only used with either embedded_feature_url or embedded_feature_html.",
178
- "links": [
179
- {
180
- "rel": "More information on the embed title setting",
181
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
182
- }
183
- ]
184
- },
185
- "embedded_feature_url": {
186
- "type": "string",
187
- "format": "url",
188
- "title": "Embedded feature - URL",
189
- "description": "Any URL to display as an iframe in another tab, after Chart/Table/etc.",
190
- "links": [
191
- {
192
- "rel": "More information on the embed URL setting",
193
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
194
- }
195
- ]
196
- },
197
- "expected_disaggregations": {
198
- "options": {"collapsed": true},
199
- "type": "array",
200
- "title": "Expected disaggregations",
201
- "description": "An optional list of disaggregations (ie, data column names) to use when calculating the disaggregation status statistics.",
202
- "items": {
203
- "type": "string",
204
- "title": "Expected disaggregation"
205
- },
206
- "links": [
207
- {
208
- "rel": "More information on the expected disaggregation setting",
209
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
210
- }
211
- ]
212
- },
213
- "graph_annotations": {
214
- "options": {"collapsed": true},
215
- "type": "array",
216
- "title": "Graph annotations",
217
- "description": "This can be used to add line annotations to the graph, such as target lines to show the progress towards the 2030 goal for an indicator.",
218
- "items": {
219
- "type": "object",
220
- "title": "Graph annotation",
221
- "allOf": [
222
- { "$ref": "#/definitions/series_unit_constraint" },
223
- {
224
- "properties": {
225
- "value": {
226
- "type": "number",
227
- "minimum": 0,
228
- "title": "Value",
229
- "description": "The value at which to draw the line. For horizontal lines, this number corresponds to your actual data. For vertical lines, this number should be between 0 (the left side of the chart) and the number of years minus 1 (the right side of the chart)."
230
- },
231
- "endValue": {
232
- "type": "number",
233
- "title": "End value",
234
- "description": "Optionally add a different ending value for the line."
235
- },
236
- "description": {
237
- "type": "string",
238
- "title": "Description",
239
- "description": "A description of the annotation to be read by screenreaders."
240
- },
241
- "mode": {
242
- "type": "string",
243
- "title": "Mode",
244
- "description": "Whether the line will be vertical or horizontal.",
245
- "enum": ["horizontal", "vertical"]
246
- },
247
- "borderColor": {
248
- "type": "string",
249
- "format": "color",
250
- "title": "Line color",
251
- "default": "#949494",
252
- "description": "The color of the line.",
253
- "links": [
254
- {
255
- "rel": "More information on the border color setting",
256
- "href": "https://github.com/chartjs/chartjs-plugin-annotation/blob/master/README.md"
257
- }
258
- ]
259
- },
260
- "borderDash": {
261
- "type": "array",
262
- "title": "Line dash type",
263
- "description": "The type of line dash.",
264
- "default": [10, 5],
265
- "items": {
266
- "type": "number"
267
- },
268
- "minItems": 2,
269
- "links": [
270
- {
271
- "rel": "More information on the line dash setting",
272
- "href": "https://github.com/chartjs/chartjs-plugin-annotation/blob/master/README.md"
273
- }
274
- ]
275
- },
276
- "label": {
277
- "type": "object",
278
- "title": "Label",
279
- "description": "A text label for the annotation.",
280
- "properties": {
281
- "position": {
282
- "type": "string",
283
- "title": "Position",
284
- "description": "Placement of the label along the line.",
285
- "enum": [
286
- "top",
287
- "bottom",
288
- "left",
289
- "right",
290
- "center"
291
- ]
292
- },
293
- "content": {
294
- "type": "string",
295
- "minLength": 1,
296
- "title": "Content",
297
- "description": "Text of the line label."
298
- },
299
- "fontColor": {
300
- "type": "string",
301
- "format": "color",
302
- "title": "Label color",
303
- "description": "Color for the label text.",
304
- "default": "#000000"
305
- },
306
- "backgroundColor": {
307
- "type": "string",
308
- "format": "color",
309
- "default": "#ffffff",
310
- "title": "Background color",
311
- "description": "Background color for the label text."
312
- }
313
- }
314
- },
315
- "highContrast": {
316
- "type": "object",
317
- "title": "High contrast options",
318
- "description": "High-contrast overrides of certain color.",
319
- "properties": {
320
- "borderColor": {
321
- "type": "string",
322
- "format": "color",
323
- "default": "#ffffff",
324
- "title": "High-contrast line color",
325
- "description": "The color of the line in high-contrast mode."
326
- },
327
- "label": {
328
- "type": "object",
329
- "title": "High contrast label",
330
- "description": "High-contrast version of the label.",
331
- "properties": {
332
- "fontColor": {
333
- "type": "string",
334
- "format": "color",
335
- "default": "#ffffff",
336
- "title": "High-contrast label color",
337
- "description": "Color for the label text in high-contrast mode."
338
- },
339
- "backgroundColor": {
340
- "type": "string",
341
- "format": "color",
342
- "default": "#000000",
343
- "title": "High-contrast background color",
344
- "description": "Background color for the label text in high-contrast mode."
345
- }
346
- }
347
- }
348
- }
349
- }
350
- }
351
- }
352
- ]
353
- },
354
- "links": [
355
- {
356
- "rel": "More information on the graph annotations setting",
357
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#graph-metadata"
358
- }
359
- ]
360
- },
361
- "graph_limits": {
362
- "options": {"collapsed": true},
363
- "type": "array",
364
- "title": "Graph limits",
365
- "description": "A list of min/max limits controlling the lowest/highest values to be shown on the y-axis.",
366
- "items": {
367
- "type": "object",
368
- "title": "Graph limit",
369
- "allOf": [
370
- { "$ref": "#/definitions/series_unit_constraint" },
371
- {
372
- "properties": {
373
- "minimum": {
374
- "type": "number",
375
- "minimum": 0,
376
- "title": "Minimum",
377
- "description": "Minimum value for the y axis."
378
- },
379
- "maximum": {
380
- "type": "number",
381
- "minimum": 0,
382
- "title": "Maximum",
383
- "description": "Maximum value for the y axis."
384
- }
385
- }
386
- }
387
- ]
388
- },
389
- "links": [
390
- {
391
- "rel": "More information on the graph limits setting",
392
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#graph-metadata"
393
- }
394
- ]
395
- },
396
- "graph_series_breaks": {
397
- "options": {"collapsed": true},
398
- "type": "array",
399
- "title": "Graph series breaks",
400
- "description": "A list of series break (ie, a gap among the years) lines to display on the graph.",
401
- "items": {
402
- "type": "object",
403
- "title": "Series break",
404
- "allOf": [
405
- { "$ref": "#/definitions/series_unit_constraint" },
406
- {
407
- "properties": {
408
- "label_content": {
409
- "type": "string",
410
- "title": "Label content",
411
- "default": "indicator.annotation_series_break",
412
- "description": "The text to display for this series break."
413
- },
414
- "value": {
415
- "type": "number",
416
- "title": "Value",
417
- "description": "The numeric value at which to place the series break. This number should be between 0 (the left side of the chart) and the number of years minus 1 (the right side of the chart)."
418
- }
419
- }
420
- }
421
- ]
422
- },
423
- "links": [
424
- {
425
- "rel": "More information on the graph target lines setting",
426
- "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#graph_series_breaks"
427
- }
428
- ]
429
- },
430
- "graph_stacked_disaggregation": {
431
- "type": "string",
432
- "title": "Stacked disaggregation",
433
- "description": "This can be used with the bar graph type to place a certain disaggregation into the same stacked bars.",
434
- "links": [
435
- {
436
- "rel": "More information on the stacked disaggregation setting",
437
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
438
- }
439
- ]
440
- },
441
- "graph_target_lines": {
442
- "options": {"collapsed": true},
443
- "type": "array",
444
- "title": "Graph target lines",
445
- "description": "A list of target lines to display on the graph.",
446
- "items": {
447
- "type": "object",
448
- "title": "Target line",
449
- "allOf": [
450
- { "$ref": "#/definitions/series_unit_constraint" },
451
- {
452
- "properties": {
453
- "label_content": {
454
- "type": "string",
455
- "title": "Label content",
456
- "default": "indicator.annotation_2030_target",
457
- "description": "The text to display for this target line."
458
- },
459
- "value": {
460
- "type": "number",
461
- "title": "Value",
462
- "description": "The numeric value at which to place the target line."
463
- }
464
- }
465
- }
466
- ]
467
- },
468
- "links": [
469
- {
470
- "rel": "More information on the graph target lines setting",
471
- "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#graph_target_lines"
472
- }
473
- ]
474
- },
475
- "graph_title": {
476
- "type": "string",
477
- "title": "Graph title",
478
- "description": "The title that displays above the graph/chart.",
479
- "links": [
480
- {
481
- "rel": "More information on the graph title setting",
482
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
483
- }
484
- ]
485
- },
486
- "graph_titles": {
487
- "options": {"collapsed": true},
488
- "type": "array",
489
- "title": "Graph titles",
490
- "description": "As an alternative to `graph_title`, this can be used to set specific titles for particular units and/or series.",
491
- "items": {
492
- "type": "object",
493
- "title": "Graph title",
494
- "allOf": [
495
- { "$ref": "#/definitions/series_unit_constraint" },
496
- {
497
- "properties": {
498
- "title": {
499
- "type": "string",
500
- "minLength": 1,
501
- "title": "Title",
502
- "description": "The graph title."
503
- }
504
- }
505
- }
506
- ]
507
- }
508
- },
509
- "graph_type": {
510
- "type": "string",
511
- "title": "Graph type",
512
- "description": "What type of graph to use for the indicator.",
513
- "enum": ["line", "bar", "binary"],
514
- "links": [
515
- {
516
- "rel": "More information on the graph titles setting",
517
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
518
- }
519
- ]
520
- },
521
- "indicator_available": {
522
- "type": "string",
523
- "title": "Indicator available",
524
- "description": "An optional sub-title for the indicator, which displays below the indicator name. Intended for cases where the available data is slightly different than the indicator name.",
525
- "links": [
526
- {
527
- "rel": "More information on the indicator available setting",
528
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
529
- }
530
- ]
531
- },
532
- "indicator_name": {
533
- "type": "string",
534
- "title": "Indicator name",
535
- "description": "The name for the indicator, which displays at the top of the indicator page.",
536
- "links": [
537
- {
538
- "rel": "More information on the indicator name setting",
539
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
540
- }
541
- ]
542
- },
543
- "indicator_number": {
544
- "type": "string",
545
- "title": "Indicator number",
546
- "description": "The number (or 'id') for the indicator.",
547
- "links": [
548
- {
549
- "rel": "More information on the indicator number setting",
550
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
551
- }
552
- ]
553
- },
554
- "national_geographical_coverage": {
555
- "type": "string",
556
- "title": "National geographical coverage",
557
- "description": "A label used in the absence of any disaggregation.",
558
- "links": [
559
- {
560
- "rel": "More information on the geographical coverage setting",
561
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
562
- }
563
- ]
564
- },
565
- "page_content": {
566
- "type": "string",
567
- "format": "markdown",
568
- "title": "Page content",
569
- "description": "Content which displays in the main content area of the indicator page."
570
- },
571
- "permalink": {
572
- "type": "string",
573
- "title": "Permalink",
574
- "description": "Overrides the normal path of the indicator page. Not recommended, execpt for 'standalone' indicators.",
575
- "links": [
576
- {
577
- "rel": "More information the permalink setting",
578
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#standalone-indicators"
579
- }
580
- ]
581
- },
582
- "placeholder": {
583
- "title": "Placeholder indicator",
584
- "type": "string",
585
- "description": "Entering text here identifies this as a 'placeholder' indicator. The text will be displayed on the goal page, in place of a link to the indicator page.",
586
- "format": "textarea",
587
- "links": [
588
- {
589
- "rel": "More information the placeholder setting",
590
- "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#placeholder"
591
- }
592
- ]
593
- },
594
- "precision": {
595
- "options": {"collapsed": true},
596
- "type": "array",
597
- "title": "Precision rules",
598
- "description": "Control the number of decimal places for data in this indicator.",
599
- "items": {
600
- "type": "object",
601
- "title": "Precision rule",
602
- "allOf": [
603
- { "$ref": "#/definitions/series_unit_constraint" },
604
- {
605
- "properties": {
606
- "decimals": {
607
- "type": "number",
608
- "title": "Decimals",
609
- "description": "The number of decimal places"
610
- }
611
- }
612
- }
613
- ]
614
- }
615
- },
616
- "progress_status": {
617
- "type": "string",
618
- "title": "Progress status",
619
- "enum": ["not_available", "challenges_remain", "approaching_target", "target_achieved"],
620
- "description": "The progress status of the indicator.",
621
- "links": [
622
- {
623
- "rel": "More information on the progress status setting",
624
- "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#progress-status"
625
- }
626
- ]
627
- },
628
- "reporting_status": {
629
- "type": "string",
630
- "title": "Reporting status",
631
- "enum": ["complete", "inprogress", "notstarted", "notapplicable"],
632
- "description": "The reporting status of the indicator.",
633
- "links": [
634
- {
635
- "rel": "More information on the reporting status setting",
636
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
637
- }
638
- ]
639
- },
640
- "sort": {
641
- "type": "string",
642
- "title": "Sort order",
643
- "description": "Override the default order in which this indicator is displayed in lists. This can be left blank, and it will be automatically determined.",
644
- "links": [
645
- {
646
- "rel": "More information on the sort setting",
647
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#sorting-in-lists"
648
- }
649
- ]
650
- },
651
- "standalone": {
652
- "title": "Standalone indicator",
653
- "type": "boolean",
654
- "description": "Whether the indicator is standalone (separate from the SDGs) or not.",
655
- "format": "checkbox",
656
- "links": [
657
- {
658
- "rel": "More information the standalone setting",
659
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#standalone-indicators"
660
- }
661
- ]
662
- },
663
- "tags": {
664
- "options": {"collapsed": true},
665
- "type": "array",
666
- "title": "Tags",
667
- "description": "An optional list of 'tags' to display under an indicator when it is listed on its goal page.",
668
- "items": {
669
- "type": "string",
670
- "title": "Tag"
671
- },
672
- "links": [
673
- {
674
- "rel": "More information on the tags setting",
675
- "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
676
- }
677
- ]
678
- },
679
- "x_axis_label": {
680
- "type": "string",
681
- "title": "X axis label",
682
- "description": "A label beneath the X axis on charts. This overrides the same site configuration setting.",
683
- "links": [
684
- {
685
- "rel": "More information on the X axis label setting",
686
- "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#x_axis_label"
687
- }
688
- ]
689
- }
690
- },
691
- "additionalProperties": true,
692
- "definitions": {
693
- "series_unit_constraint": {
694
- "type": "object",
695
- "properties": {
696
- "series": {
697
- "type": "string",
698
- "title": "Series",
699
- "description": "Limit to this particular series"
700
- },
701
- "unit": {
702
- "type": "string",
703
- "title": "Unit",
704
- "description": "Limit to this particular unit"
705
- }
706
- }
707
- }
708
- }
709
- }
1
+ {
2
+ "type": "object",
3
+ "title": "Open SDG indicator configuration",
4
+ "description": "This form will produce an indicator's configuration for your Open SDG implementation.",
5
+ "properties": {
6
+ "composite_breakdown_label": {
7
+ "type": "string",
8
+ "title": "Composite breakdown label",
9
+ "description": "Used as a label for the COMPOSITE_BREAKDOWN column, if it appears in the indicator data.",
10
+ "links": [
11
+ {
12
+ "rel": "More information on the composite breakdown label setting",
13
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#composite-breakdown-label"
14
+ }
15
+ ]
16
+ },
17
+ "computation_units": {
18
+ "type": "string",
19
+ "title": "Unit of measurement",
20
+ "description": "Unit of measurement which displays below the indicator chart.",
21
+ "links": [
22
+ {
23
+ "rel": "More information on the units of measurement setting",
24
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
25
+ }
26
+ ]
27
+ },
28
+ "copyright": {
29
+ "type": "string",
30
+ "title": "Copyright",
31
+ "description": "Copyright which displays below the indicator chart.",
32
+ "links": [
33
+ {
34
+ "rel": "More information on the copyright setting",
35
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#footer"
36
+ }
37
+ ]
38
+ },
39
+ "data_footnote": {
40
+ "type": "string",
41
+ "format": "markdown",
42
+ "title": "Footnote",
43
+ "description": "Footnote which displays below the indicator chart.",
44
+ "links": [
45
+ {
46
+ "rel": "More information on the footnote setting",
47
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#footer"
48
+ }
49
+ ]
50
+ },
51
+ "data_non_statistical": {
52
+ "title": "Non-statistical data",
53
+ "type": "boolean",
54
+ "description": "Whether the indicator is statistical (can be charted/graphed) or not.",
55
+ "format": "checkbox",
56
+ "links": [
57
+ {
58
+ "rel": "More information the non-statistical setting",
59
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
60
+ }
61
+ ]
62
+ },
63
+ "data_notice_class": {
64
+ "title": "Data notice - class",
65
+ "type": "string",
66
+ "description": "A CSS class to apply to the data notice for this indicator.",
67
+ "links": [
68
+ {
69
+ "rel": "More information on the data notice setting",
70
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
71
+ }
72
+ ]
73
+ },
74
+ "data_notice_heading": {
75
+ "title": "Data notice - heading",
76
+ "type": "string",
77
+ "description": "A title to display above the data notice for this indicator.",
78
+ "links": [
79
+ {
80
+ "rel": "More information on the data notice heading setting",
81
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
82
+ }
83
+ ]
84
+ },
85
+ "data_notice_text": {
86
+ "title": "Data notice - text",
87
+ "type": "string",
88
+ "format": "markdown",
89
+ "description": "Text to display as a data notice for this indicator, intended to contain very important information which site viewers must keep in mind when using the data provided.",
90
+ "links": [
91
+ {
92
+ "rel": "More information on the data notice text setting",
93
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#data-notice"
94
+ }
95
+ ]
96
+ },
97
+ "data_show_map": {
98
+ "title": "Show map",
99
+ "type": "boolean",
100
+ "description": "Whether the indicator should display a Map tab.",
101
+ "format": "checkbox",
102
+ "links": [
103
+ {
104
+ "rel": "More information on the map setting",
105
+ "href": "https://open-sdg.readthedocs.io/en/latest/maps/#metadata-field-data_show_map"
106
+ }
107
+ ]
108
+ },
109
+ "data_start_values": {
110
+ "options": {"collapsed": true},
111
+ "type": "array",
112
+ "title": "Starting values",
113
+ "description": "Disaggregation values for a an indicator to start with already selected",
114
+ "items": {
115
+ "type": "object",
116
+ "title": "Starting value",
117
+ "properties": {
118
+ "field": {
119
+ "type": "string",
120
+ "minLength": 1,
121
+ "title": "Field",
122
+ "description": "The field (column) name."
123
+ },
124
+ "value": {
125
+ "type": "string",
126
+ "minLength": 1,
127
+ "title": "Value",
128
+ "description": "The value in that field to pre-select."
129
+ }
130
+ }
131
+ },
132
+ "links": [
133
+ {
134
+ "rel": "More information on the starting values setting",
135
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#starting-values"
136
+ }
137
+ ]
138
+ },
139
+ "embedded_feature_footer": {
140
+ "type": "string",
141
+ "format": "markdown",
142
+ "title": "Embedded feature - Footer",
143
+ "description": "A footer that displays below the embedded feature. Only used with either embedded_feature_url or embedded_feature_html.",
144
+ "links": [
145
+ {
146
+ "rel": "More information on the embed footer setting",
147
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
148
+ }
149
+ ]
150
+ },
151
+ "embedded_feature_html": {
152
+ "type": "string",
153
+ "format": "textarea",
154
+ "title": "Embedded feature - HTML",
155
+ "description": "Any HTML to display in another tab, after Chart/Table/etc.",
156
+ "links": [
157
+ {
158
+ "rel": "More information on the embed HTML setting",
159
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
160
+ }
161
+ ]
162
+ },
163
+ "embedded_feature_tab_title": {
164
+ "type": "string",
165
+ "title": "Embedded feature - Tab Title",
166
+ "description": "A title for the embedded feature tab (ie, Chart/Table/[this]). Only used with either embedded_feature_url or embedded_feature_html.",
167
+ "links": [
168
+ {
169
+ "rel": "More information on the embed tab title setting",
170
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
171
+ }
172
+ ]
173
+ },
174
+ "embedded_feature_title": {
175
+ "type": "string",
176
+ "title": "Embedded feature - Title",
177
+ "description": "A title that displays above the embedded feature. Only used with either embedded_feature_url or embedded_feature_html.",
178
+ "links": [
179
+ {
180
+ "rel": "More information on the embed title setting",
181
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
182
+ }
183
+ ]
184
+ },
185
+ "embedded_feature_url": {
186
+ "type": "string",
187
+ "format": "url",
188
+ "title": "Embedded feature - URL",
189
+ "description": "Any URL to display as an iframe in another tab, after Chart/Table/etc.",
190
+ "links": [
191
+ {
192
+ "rel": "More information on the embed URL setting",
193
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#embedded-feature-metadata"
194
+ }
195
+ ]
196
+ },
197
+ "expected_disaggregations": {
198
+ "options": {"collapsed": true},
199
+ "type": "array",
200
+ "title": "Expected disaggregations",
201
+ "description": "An optional list of disaggregations (ie, data column names) to use when calculating the disaggregation status statistics.",
202
+ "items": {
203
+ "type": "string",
204
+ "title": "Expected disaggregation"
205
+ },
206
+ "links": [
207
+ {
208
+ "rel": "More information on the expected disaggregation setting",
209
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
210
+ }
211
+ ]
212
+ },
213
+ "footer_fields": {
214
+ "options": {"collapsed": true},
215
+ "type": "array",
216
+ "title": "Footer fields",
217
+ "description": "Additional arbitrary information to display beneath the graph/table.",
218
+ "items": {
219
+ "type": "object",
220
+ "title": "Footer field",
221
+ "allOf": [
222
+ { "$ref": "#/definitions/series_unit_constraint" },
223
+ {
224
+ "properties": {
225
+ "label": {
226
+ "type": "string",
227
+ "title": "Label",
228
+ "description": "The label for the field"
229
+ },
230
+ "value": {
231
+ "type": "string",
232
+ "title": "Value",
233
+ "description": "The value/content for the field"
234
+ }
235
+ }
236
+ }
237
+ ]
238
+ }
239
+ },
240
+ "graph_annotations": {
241
+ "options": {"collapsed": true},
242
+ "type": "array",
243
+ "title": "Graph annotations",
244
+ "description": "This can be used to add line annotations to the graph, such as target lines to show the progress towards the 2030 goal for an indicator.",
245
+ "items": {
246
+ "type": "object",
247
+ "title": "Graph annotation",
248
+ "allOf": [
249
+ { "$ref": "#/definitions/series_unit_constraint" },
250
+ {
251
+ "properties": {
252
+ "value": {
253
+ "type": "number",
254
+ "minimum": 0,
255
+ "title": "Value",
256
+ "description": "The value at which to draw the line. For horizontal lines, this number corresponds to your actual data. For vertical lines, this number should be between 0 (the left side of the chart) and the number of years minus 1 (the right side of the chart)."
257
+ },
258
+ "endValue": {
259
+ "type": "number",
260
+ "title": "End value",
261
+ "description": "Optionally add a different ending value for the line."
262
+ },
263
+ "description": {
264
+ "type": "string",
265
+ "title": "Description",
266
+ "description": "A description of the annotation to be read by screenreaders."
267
+ },
268
+ "mode": {
269
+ "type": "string",
270
+ "title": "Mode",
271
+ "description": "Whether the line will be vertical or horizontal.",
272
+ "enum": ["horizontal", "vertical"]
273
+ },
274
+ "borderColor": {
275
+ "type": "string",
276
+ "format": "color",
277
+ "title": "Line color",
278
+ "default": "#949494",
279
+ "description": "The color of the line.",
280
+ "links": [
281
+ {
282
+ "rel": "More information on the border color setting",
283
+ "href": "https://github.com/chartjs/chartjs-plugin-annotation/blob/master/README.md"
284
+ }
285
+ ]
286
+ },
287
+ "borderDash": {
288
+ "type": "array",
289
+ "title": "Line dash type",
290
+ "description": "The type of line dash.",
291
+ "default": [10, 5],
292
+ "items": {
293
+ "type": "number"
294
+ },
295
+ "minItems": 2,
296
+ "links": [
297
+ {
298
+ "rel": "More information on the line dash setting",
299
+ "href": "https://github.com/chartjs/chartjs-plugin-annotation/blob/master/README.md"
300
+ }
301
+ ]
302
+ },
303
+ "label": {
304
+ "type": "object",
305
+ "title": "Label",
306
+ "description": "A text label for the annotation.",
307
+ "properties": {
308
+ "position": {
309
+ "type": "string",
310
+ "title": "Position",
311
+ "description": "Placement of the label along the line.",
312
+ "enum": [
313
+ "top",
314
+ "bottom",
315
+ "left",
316
+ "right",
317
+ "center"
318
+ ]
319
+ },
320
+ "content": {
321
+ "type": "string",
322
+ "minLength": 1,
323
+ "title": "Content",
324
+ "description": "Text of the line label."
325
+ },
326
+ "fontColor": {
327
+ "type": "string",
328
+ "format": "color",
329
+ "title": "Label color",
330
+ "description": "Color for the label text.",
331
+ "default": "#000000"
332
+ },
333
+ "backgroundColor": {
334
+ "type": "string",
335
+ "format": "color",
336
+ "default": "#ffffff",
337
+ "title": "Background color",
338
+ "description": "Background color for the label text."
339
+ }
340
+ }
341
+ },
342
+ "highContrast": {
343
+ "type": "object",
344
+ "title": "High contrast options",
345
+ "description": "High-contrast overrides of certain color.",
346
+ "properties": {
347
+ "borderColor": {
348
+ "type": "string",
349
+ "format": "color",
350
+ "default": "#ffffff",
351
+ "title": "High-contrast line color",
352
+ "description": "The color of the line in high-contrast mode."
353
+ },
354
+ "label": {
355
+ "type": "object",
356
+ "title": "High contrast label",
357
+ "description": "High-contrast version of the label.",
358
+ "properties": {
359
+ "fontColor": {
360
+ "type": "string",
361
+ "format": "color",
362
+ "default": "#ffffff",
363
+ "title": "High-contrast label color",
364
+ "description": "Color for the label text in high-contrast mode."
365
+ },
366
+ "backgroundColor": {
367
+ "type": "string",
368
+ "format": "color",
369
+ "default": "#000000",
370
+ "title": "High-contrast background color",
371
+ "description": "Background color for the label text in high-contrast mode."
372
+ }
373
+ }
374
+ }
375
+ }
376
+ }
377
+ }
378
+ }
379
+ ]
380
+ },
381
+ "links": [
382
+ {
383
+ "rel": "More information on the graph annotations setting",
384
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#graph-metadata"
385
+ }
386
+ ]
387
+ },
388
+ "graph_limits": {
389
+ "options": {"collapsed": true},
390
+ "type": "array",
391
+ "title": "Graph limits",
392
+ "description": "A list of min/max limits controlling the lowest/highest values to be shown on the y-axis.",
393
+ "items": {
394
+ "type": "object",
395
+ "title": "Graph limit",
396
+ "allOf": [
397
+ { "$ref": "#/definitions/series_unit_constraint" },
398
+ {
399
+ "properties": {
400
+ "minimum": {
401
+ "type": "number",
402
+ "minimum": 0,
403
+ "title": "Minimum",
404
+ "description": "Minimum value for the y axis."
405
+ },
406
+ "maximum": {
407
+ "type": "number",
408
+ "minimum": 0,
409
+ "title": "Maximum",
410
+ "description": "Maximum value for the y axis."
411
+ }
412
+ }
413
+ }
414
+ ]
415
+ },
416
+ "links": [
417
+ {
418
+ "rel": "More information on the graph limits setting",
419
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#graph-metadata"
420
+ }
421
+ ]
422
+ },
423
+ "graph_series_breaks": {
424
+ "options": {"collapsed": true},
425
+ "type": "array",
426
+ "title": "Graph series breaks",
427
+ "description": "A list of series break (ie, a gap among the years) lines to display on the graph.",
428
+ "items": {
429
+ "type": "object",
430
+ "title": "Series break",
431
+ "allOf": [
432
+ { "$ref": "#/definitions/series_unit_constraint" },
433
+ {
434
+ "properties": {
435
+ "label_content": {
436
+ "type": "string",
437
+ "title": "Label content",
438
+ "default": "indicator.annotation_series_break",
439
+ "description": "The text to display for this series break."
440
+ },
441
+ "value": {
442
+ "type": "number",
443
+ "title": "Value",
444
+ "description": "The numeric value at which to place the series break. This number should be between 0 (the left side of the chart) and the number of years minus 1 (the right side of the chart)."
445
+ }
446
+ }
447
+ }
448
+ ]
449
+ },
450
+ "links": [
451
+ {
452
+ "rel": "More information on the graph target lines setting",
453
+ "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#graph_series_breaks"
454
+ }
455
+ ]
456
+ },
457
+ "graph_stacked_disaggregation": {
458
+ "type": "string",
459
+ "title": "Stacked disaggregation",
460
+ "description": "This can be used with the bar graph type to place a certain disaggregation into the same stacked bars.",
461
+ "links": [
462
+ {
463
+ "rel": "More information on the stacked disaggregation setting",
464
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
465
+ }
466
+ ]
467
+ },
468
+ "graph_target_lines": {
469
+ "options": {"collapsed": true},
470
+ "type": "array",
471
+ "title": "Graph target lines",
472
+ "description": "A list of target lines to display on the graph.",
473
+ "items": {
474
+ "type": "object",
475
+ "title": "Target line",
476
+ "allOf": [
477
+ { "$ref": "#/definitions/series_unit_constraint" },
478
+ {
479
+ "properties": {
480
+ "label_content": {
481
+ "type": "string",
482
+ "title": "Label content",
483
+ "default": "indicator.annotation_2030_target",
484
+ "description": "The text to display for this target line."
485
+ },
486
+ "value": {
487
+ "type": "number",
488
+ "title": "Value",
489
+ "description": "The numeric value at which to place the target line."
490
+ }
491
+ }
492
+ }
493
+ ]
494
+ },
495
+ "links": [
496
+ {
497
+ "rel": "More information on the graph target lines setting",
498
+ "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#graph_target_lines"
499
+ }
500
+ ]
501
+ },
502
+ "graph_title": {
503
+ "type": "string",
504
+ "title": "Graph title",
505
+ "description": "The title that displays above the graph/chart.",
506
+ "links": [
507
+ {
508
+ "rel": "More information on the graph title setting",
509
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
510
+ }
511
+ ]
512
+ },
513
+ "graph_titles": {
514
+ "options": {"collapsed": true},
515
+ "type": "array",
516
+ "title": "Graph titles",
517
+ "description": "As an alternative to `graph_title`, this can be used to set specific titles for particular units and/or series.",
518
+ "items": {
519
+ "type": "object",
520
+ "title": "Graph title",
521
+ "allOf": [
522
+ { "$ref": "#/definitions/series_unit_constraint" },
523
+ {
524
+ "properties": {
525
+ "title": {
526
+ "type": "string",
527
+ "minLength": 1,
528
+ "title": "Title",
529
+ "description": "The graph title."
530
+ }
531
+ }
532
+ }
533
+ ]
534
+ }
535
+ },
536
+ "graph_type": {
537
+ "type": "string",
538
+ "title": "Graph type",
539
+ "description": "What type of graph to use for the indicator.",
540
+ "enum": ["line", "bar", "binary"],
541
+ "links": [
542
+ {
543
+ "rel": "More information on the graph titles setting",
544
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
545
+ }
546
+ ]
547
+ },
548
+ "indicator_available": {
549
+ "type": "string",
550
+ "title": "Indicator available",
551
+ "description": "An optional sub-title for the indicator, which displays below the indicator name. Intended for cases where the available data is slightly different than the indicator name.",
552
+ "links": [
553
+ {
554
+ "rel": "More information on the indicator available setting",
555
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
556
+ }
557
+ ]
558
+ },
559
+ "indicator_name": {
560
+ "type": "string",
561
+ "title": "Indicator name",
562
+ "description": "The name for the indicator, which displays at the top of the indicator page.",
563
+ "links": [
564
+ {
565
+ "rel": "More information on the indicator name setting",
566
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
567
+ }
568
+ ]
569
+ },
570
+ "indicator_number": {
571
+ "type": "string",
572
+ "title": "Indicator number",
573
+ "description": "The number (or 'id') for the indicator.",
574
+ "links": [
575
+ {
576
+ "rel": "More information on the indicator number setting",
577
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
578
+ }
579
+ ]
580
+ },
581
+ "indicator_tabs": {
582
+ "options": {"collapsed": true},
583
+ "type": "object",
584
+ "title": "Indicator tabs",
585
+ "description": "Assign content for the indicator tabs, if the override box is checked. Otherwise this indicator will use the assignments set in your site configuration.",
586
+ "properties": {
587
+ "override": {
588
+ "type": "boolean",
589
+ "title": "Override site configuration",
590
+ "description": "If checked, the site-wide indicator tab configuration will be ignored for this indicator.",
591
+ "format": "checkbox"
592
+ },
593
+ "tab_1": {
594
+ "type": "string",
595
+ "title": "Tab 1",
596
+ "description": "What to display in the first tab",
597
+ "$ref": "#/definitions/indicator_tabs_options"
598
+ },
599
+ "tab_2": {
600
+ "type": "string",
601
+ "title": "Tab 2",
602
+ "description": "What to display in the second tab",
603
+ "$ref": "#/definitions/indicator_tabs_options"
604
+ },
605
+ "tab_3": {
606
+ "type": "string",
607
+ "title": "Tab 3",
608
+ "description": "What to display in the third tab",
609
+ "$ref": "#/definitions/indicator_tabs_options"
610
+ },
611
+ "tab_4": {
612
+ "type": "string",
613
+ "title": "Tab 4",
614
+ "description": "What to display in the fourth tab",
615
+ "$ref": "#/definitions/indicator_tabs_options"
616
+ }
617
+ }
618
+ },
619
+ "national_geographical_coverage": {
620
+ "type": "string",
621
+ "title": "National geographical coverage",
622
+ "description": "A label used in the absence of any disaggregation.",
623
+ "links": [
624
+ {
625
+ "rel": "More information on the geographical coverage setting",
626
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-for-statistical-indicators"
627
+ }
628
+ ]
629
+ },
630
+ "page_content": {
631
+ "type": "string",
632
+ "format": "markdown",
633
+ "title": "Page content",
634
+ "description": "Content which displays in the main content area of the indicator page."
635
+ },
636
+ "permalink": {
637
+ "type": "string",
638
+ "title": "Permalink",
639
+ "description": "Overrides the normal path of the indicator page. Not recommended, execpt for 'standalone' indicators.",
640
+ "links": [
641
+ {
642
+ "rel": "More information the permalink setting",
643
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#standalone-indicators"
644
+ }
645
+ ]
646
+ },
647
+ "placeholder": {
648
+ "title": "Placeholder indicator",
649
+ "type": "string",
650
+ "description": "Entering text here identifies this as a 'placeholder' indicator. The text will be displayed on the goal page, in place of a link to the indicator page.",
651
+ "format": "textarea",
652
+ "links": [
653
+ {
654
+ "rel": "More information the placeholder setting",
655
+ "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#placeholder"
656
+ }
657
+ ]
658
+ },
659
+ "precision": {
660
+ "options": {"collapsed": true},
661
+ "type": "array",
662
+ "title": "Precision rules",
663
+ "description": "Control the number of decimal places for data in this indicator.",
664
+ "items": {
665
+ "type": "object",
666
+ "title": "Precision rule",
667
+ "allOf": [
668
+ { "$ref": "#/definitions/series_unit_constraint" },
669
+ {
670
+ "properties": {
671
+ "decimals": {
672
+ "type": "number",
673
+ "title": "Decimals",
674
+ "description": "The number of decimal places"
675
+ }
676
+ }
677
+ }
678
+ ]
679
+ }
680
+ },
681
+ "progress_status": {
682
+ "type": "string",
683
+ "title": "Progress status",
684
+ "enum": ["not_available", "challenges_remain", "approaching_target", "target_achieved"],
685
+ "description": "The progress status of the indicator.",
686
+ "links": [
687
+ {
688
+ "rel": "More information on the progress status setting",
689
+ "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#progress-status"
690
+ }
691
+ ]
692
+ },
693
+ "reporting_status": {
694
+ "type": "string",
695
+ "title": "Reporting status",
696
+ "enum": ["complete", "inprogress", "notstarted", "notapplicable"],
697
+ "description": "The reporting status of the indicator.",
698
+ "links": [
699
+ {
700
+ "rel": "More information on the reporting status setting",
701
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#mandatory-fields"
702
+ }
703
+ ]
704
+ },
705
+ "sort": {
706
+ "type": "string",
707
+ "title": "Sort order",
708
+ "description": "Override the default order in which this indicator is displayed in lists. This can be left blank, and it will be automatically determined.",
709
+ "links": [
710
+ {
711
+ "rel": "More information on the sort setting",
712
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#sorting-in-lists"
713
+ }
714
+ ]
715
+ },
716
+ "standalone": {
717
+ "title": "Standalone indicator",
718
+ "type": "boolean",
719
+ "description": "Whether the indicator is standalone (separate from the SDGs) or not.",
720
+ "format": "checkbox",
721
+ "links": [
722
+ {
723
+ "rel": "More information the standalone setting",
724
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#standalone-indicators"
725
+ }
726
+ ]
727
+ },
728
+ "tags": {
729
+ "options": {"collapsed": true},
730
+ "type": "array",
731
+ "title": "Tags",
732
+ "description": "An optional list of 'tags' to display under an indicator when it is listed on its goal page.",
733
+ "items": {
734
+ "type": "string",
735
+ "title": "Tag"
736
+ },
737
+ "links": [
738
+ {
739
+ "rel": "More information on the tags setting",
740
+ "href": "https://open-sdg.readthedocs.io/en/latest/metadata-format/#recommended-special-fields"
741
+ }
742
+ ]
743
+ },
744
+ "x_axis_label": {
745
+ "type": "string",
746
+ "title": "X axis label",
747
+ "description": "A label beneath the X axis on charts. This overrides the same site configuration setting.",
748
+ "links": [
749
+ {
750
+ "rel": "More information on the X axis label setting",
751
+ "href": "https://open-sdg.readthedocs.io/en/latest/indicator-configuration/#x_axis_label"
752
+ }
753
+ ]
754
+ }
755
+ },
756
+ "additionalProperties": true,
757
+ "definitions": {
758
+ "series_unit_constraint": {
759
+ "type": "object",
760
+ "properties": {
761
+ "series": {
762
+ "type": "string",
763
+ "title": "Series",
764
+ "description": "Limit to this particular series"
765
+ },
766
+ "unit": {
767
+ "type": "string",
768
+ "title": "Unit",
769
+ "description": "Limit to this particular unit"
770
+ }
771
+ }
772
+ },
773
+ "indicator_tabs_options": {
774
+ "enum": ["", "chart", "table", "map", "embed", "hide"],
775
+ "options": {
776
+ "enum_titles": [
777
+ "",
778
+ "Chart",
779
+ "Table",
780
+ "Map",
781
+ "Embed",
782
+ "Hide this tab"
783
+ ]
784
+ }
785
+ }
786
+ }
787
+ }