jekyll-locale 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4e9bb6b38af90f2abe329414e61479a0afb06bb
4
- data.tar.gz: 531866e46d63671cafc32c233f64ec263bfb3744
3
+ metadata.gz: d7711d55551114d2ff94841695d72b0db57e5101
4
+ data.tar.gz: afa5ee87a7bb1a70fa8af07eb4d258b0f53a6cc3
5
5
  SHA512:
6
- metadata.gz: c817b57303dd42dca2f76aa8f7bc7e5349c63879afbb2382268ecc91da1fe199f0135fd0d468d2d35a769a29a7dd6c8bb2eb77eb8383a5fd4b1467fac670f789
7
- data.tar.gz: bb6c4a7712ce0d12e130231179b49a813f4e7fdd37ceff9d298f6d5799330b9f35549c0cd2c856562148b19a2a32f0f50fe665c775cd06b90786f4e0cbeef60e
6
+ metadata.gz: cdd9f7566119e15ed95fa2c92aef41bda3e474a45585b0872c1e9584d30fbc40f6dfe61ff5406c8caebdb6034386da2c6b6f806944cb713a8b7eeb72c4056d91
7
+ data.tar.gz: 719fb8949ff087f5684de77b5c6aaf9f2ed25200a8d8b95c4e6ed2c073a85b428102ed4c9285c1332282cb51bc184f9fcf0b8cc0617c742084f23593e3e18ab6
@@ -21,6 +21,7 @@ module Jekyll
21
21
  else
22
22
  DEFAULT_CONFIG
23
23
  end
24
+ @sanitized_locale = {}
24
25
  end
25
26
 
26
27
  def reset
@@ -29,7 +30,8 @@ module Jekyll
29
30
  end
30
31
 
31
32
  def data
32
- locale_data[current_locale] || locale_data[default_locale] || {}
33
+ locale_data[sanitized_locale(current_locale)] ||
34
+ locale_data[sanitized_locale(default_locale)] || {}
33
35
  end
34
36
 
35
37
  def portfolio
@@ -39,6 +41,9 @@ module Jekyll
39
41
  def filtered_portfolio
40
42
  @filtered_portfolio ||= begin
41
43
  portfolio.reject do |item|
44
+ # consider only instances of class that include `Jekyll::Locale::Support` mixin
45
+ next true unless item.is_a?(Jekyll::Locale::Support)
46
+
42
47
  item.relative_path =~ exclusion_regex
43
48
  end
44
49
  end
@@ -47,6 +52,9 @@ module Jekyll
47
52
  def read
48
53
  available_locales.each do |locale|
49
54
  portfolio.each do |canon_doc|
55
+ # consider only instances of class that include `Jekyll::Locale::Support` mixin
56
+ next unless canon_doc.is_a?(Jekyll::Locale::Support)
57
+
50
58
  loc_page_path = site.in_source_dir(content_dirname, locale, canon_doc.relative_path)
51
59
  next unless File.exist?(loc_page_path)
52
60
  next unless Jekyll::Utils.has_yaml_header?(loc_page_path)
@@ -83,6 +91,10 @@ module Jekyll
83
91
  @default_locale ||= fetch("locale")
84
92
  end
85
93
 
94
+ def sanitized_locale(locale_key)
95
+ @sanitized_locale[locale_key] ||= locale_key.downcase.tr("-", "_")
96
+ end
97
+
86
98
  def content_dirname
87
99
  @content_dirname ||= fetch("content_dir")
88
100
  end
@@ -115,11 +127,23 @@ module Jekyll
115
127
 
116
128
  def locale_data
117
129
  @locale_data ||= begin
118
- ldata = site.site_data[locales_dir]
119
- return {} unless ldata.is_a?(Hash)
130
+ ldata = site.site_data[locales_dir]
131
+ result = {}
132
+ return result unless ldata.is_a?(Hash)
133
+
134
+ ldata.each do |loc, loc_data|
135
+ locale = Utils.snakeify(loc)
136
+ result[locale] = {}
137
+ next unless loc_data.is_a?(Hash)
138
+
139
+ loc_data.each do |key, value|
140
+ next if key == "locale_date"
141
+
142
+ result[locale][Utils.snakeify(key)] = value.to_s
143
+ end
144
+ end
120
145
 
121
- # transform hash to one with "latinized lowercased string keys"
122
- Jekyll::Utils.snake_case_keys(ldata)
146
+ result
123
147
  end
124
148
  end
125
149
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Jekyll
4
4
  module Locale::Support
5
- attr_reader :locale
5
+ attr_reader :site, :locale
6
6
 
7
7
  def setup_hreflangs?
8
8
  false
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Locale
5
- VERSION = "0.3.0"
5
+ VERSION = "0.3.1"
6
6
  end
7
7
  end
@@ -15,13 +15,17 @@ module Jekyll
15
15
  def snake_case_keys(hash)
16
16
  transform_keys(hash) do |key|
17
17
  begin
18
- Utils.slugify(key.to_s, :mode => "latin", :replacement => "_")
18
+ snakeify(key)
19
19
  rescue StandardError
20
20
  key.to_s
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
+ def snakeify(input)
26
+ slugify(input.to_s, :mode => "latin", :replacement => "_")
27
+ end
28
+
25
29
  def slugify(string, mode: nil, cased: false, replacement: "-")
26
30
  mode ||= "default"
27
31
  return nil if string.nil?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-locale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashwin Maroli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2018-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll