jekyll-open-sdg-plugins 1.2.0.pre.beta3 → 1.3.0.pre.beta1
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.
- checksums.yaml +4 -4
- data/lib/jekyll-open-sdg-plugins/create_goals.rb +11 -0
- data/lib/jekyll-open-sdg-plugins/create_indicators.rb +12 -3
- data/lib/jekyll-open-sdg-plugins/create_pages.rb +1 -1
- data/lib/jekyll-open-sdg-plugins/schema-indicator-config.json +87 -33
- data/lib/jekyll-open-sdg-plugins/schema-site-config.json +198 -114
- data/lib/jekyll-open-sdg-plugins/sdg_variables.rb +44 -7
- data/lib/jekyll-open-sdg-plugins/version.rb +1 -1
- metadata +2 -2
@@ -43,6 +43,24 @@ module JekyllOpenSdgPlugins
|
|
43
43
|
sort_order
|
44
44
|
end
|
45
45
|
|
46
|
+
# Get previous item from an array, or loop to the end.
|
47
|
+
def get_previous_item(list, index)
|
48
|
+
decremented = index - 1
|
49
|
+
if decremented < 0
|
50
|
+
decremented = list.length() - 1
|
51
|
+
end
|
52
|
+
list[decremented]
|
53
|
+
end
|
54
|
+
|
55
|
+
# Get next item from an array, or loop to the beginning.
|
56
|
+
def get_next_item(list, index)
|
57
|
+
incremented = index + 1
|
58
|
+
if incremented >= list.length()
|
59
|
+
incremented = 0
|
60
|
+
end
|
61
|
+
list[incremented]
|
62
|
+
end
|
63
|
+
|
46
64
|
# The Jekyll baseurl is user-configured, and can be inconsistent. This
|
47
65
|
# ensure it is consistent in whether it starts/ends with a slash.
|
48
66
|
def normalize_baseurl(baseurl)
|
@@ -170,7 +188,7 @@ module JekyllOpenSdgPlugins
|
|
170
188
|
goal_image_base = site.config['goal_image_base']
|
171
189
|
end
|
172
190
|
goal_image_extension = 'png'
|
173
|
-
if site.config.has_key? 'goal_image_extension'
|
191
|
+
if site.config.has_key?('goal_image_extension') && site.config['goal_image_extension'] != ''
|
174
192
|
goal_image_extension = site.config['goal_image_extension']
|
175
193
|
end
|
176
194
|
|
@@ -209,6 +227,7 @@ module JekyllOpenSdgPlugins
|
|
209
227
|
goal_number = get_goal_number(indicator_number)
|
210
228
|
target_number = get_target_number(indicator_number)
|
211
229
|
is_global_indicator = global_inids.index(indicator_number) != nil
|
230
|
+
|
212
231
|
# To get the name of global stuff, we can use predicable translation
|
213
232
|
# keys from the SDG Translations project. Eg: global_goals.1-title
|
214
233
|
goal_translation_key = 'global_goals.' + goal_number
|
@@ -253,8 +272,10 @@ module JekyllOpenSdgPlugins
|
|
253
272
|
end
|
254
273
|
end
|
255
274
|
|
275
|
+
is_standalone = meta.has_key?('standalone') and meta['standalone']
|
276
|
+
|
256
277
|
# Set the goal for this language, once only.
|
257
|
-
if already_added[language].index(goal_number) == nil
|
278
|
+
if !is_standalone && already_added[language].index(goal_number) == nil
|
258
279
|
already_added[language].push(goal_number)
|
259
280
|
available_goal = {
|
260
281
|
'number' => goal_number,
|
@@ -269,7 +290,7 @@ module JekyllOpenSdgPlugins
|
|
269
290
|
available_goals[language].push(available_goal)
|
270
291
|
end
|
271
292
|
# Set the target for this language, once only.
|
272
|
-
if already_added[language].index(target_number) == nil
|
293
|
+
if !is_standalone && already_added[language].index(target_number) == nil
|
273
294
|
already_added[language].push(target_number)
|
274
295
|
available_target = {
|
275
296
|
'number' => target_number,
|
@@ -293,12 +314,21 @@ module JekyllOpenSdgPlugins
|
|
293
314
|
else
|
294
315
|
indicator_name = meta['indicator_name']
|
295
316
|
end
|
317
|
+
indicator_path = indicator_number
|
318
|
+
if is_standalone && meta.has_key?('permalink') && meta['permalink'] != ''
|
319
|
+
indicator_path = meta['permalink']
|
320
|
+
end
|
321
|
+
indicator_sort = get_sort_order(indicator_number)
|
322
|
+
if meta.has_key?('sort') && meta['sort'] != ''
|
323
|
+
# Allow metadata 'sort' field to override the default sort.
|
324
|
+
indicator_sort = meta['sort']
|
325
|
+
end
|
296
326
|
available_indicator = {
|
297
327
|
'number' => indicator_number,
|
298
328
|
'slug' => indicator_number.gsub('.', '-'),
|
299
329
|
'name' => opensdg_translate_key(indicator_name, translations, language),
|
300
|
-
'url' => get_url(baseurl, language,
|
301
|
-
'sort' =>
|
330
|
+
'url' => get_url(baseurl, language, indicator_path, languages, languages_public),
|
331
|
+
'sort' => indicator_sort,
|
302
332
|
'goal_number' => goal_number,
|
303
333
|
'target_number' => target_number,
|
304
334
|
'global' => global_indicator,
|
@@ -374,7 +404,11 @@ module JekyllOpenSdgPlugins
|
|
374
404
|
target_number = get_target_number(indicator_number)
|
375
405
|
doc.data['goal'] = available_goals[language].find {|x| x['number'] == goal_number}
|
376
406
|
doc.data['target'] = available_targets[language].find {|x| x['number'] == target_number}
|
377
|
-
|
407
|
+
indicator_index = available_indicators[language].find_index {|x| x['number'] == indicator_number}
|
408
|
+
doc.data['indicator'] = available_indicators[language][indicator_index]
|
409
|
+
doc.data['next'] = get_next_item(available_indicators[language], indicator_index)
|
410
|
+
doc.data['previous'] = get_previous_item(available_indicators[language], indicator_index)
|
411
|
+
|
378
412
|
elsif collection == 'goals'
|
379
413
|
# For goals we also set the current goal.
|
380
414
|
if doc.data.has_key? 'goal_number'
|
@@ -389,7 +423,10 @@ module JekyllOpenSdgPlugins
|
|
389
423
|
if goal_number.is_a? Numeric
|
390
424
|
goal_number = goal_number.to_s
|
391
425
|
end
|
392
|
-
|
426
|
+
goal_index = available_goals[language].find_index {|x| x['number'] == goal_number}
|
427
|
+
doc.data['goal'] = available_goals[language][goal_index]
|
428
|
+
doc.data['next'] = get_next_item(available_goals[language], goal_index)
|
429
|
+
doc.data['previous'] = get_previous_item(available_goals[language], goal_index)
|
393
430
|
end
|
394
431
|
end
|
395
432
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-open-sdg-plugins
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0.pre.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brock Fanning
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|