jekyll-conrefifier 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-conrefifier.rb +24 -23
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c11ff53ee284f0cc454b6f40ec72b3e793d1a08
|
4
|
+
data.tar.gz: 9248f01dda24f82f1dc9018cfc98db17aba88fe7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f558ba427001f4d4e5b0c10530c33ca50cea7268fb01cf2d7fcfa61b82bab0848ae91f0408287bee6b32e551840f8021f33d2d8e54dc3f1fcdde4d53fb0c81a2
|
7
|
+
data.tar.gz: 897d3ab3453c71eadc55198055d9276e954d0a04825e775b4a2088bea6578251910e0ed7608aa41a945a4cdc3719d6ce252fdf9b15b91874396935d3fdb2e2ba
|
data/lib/jekyll-conrefifier.rb
CHANGED
@@ -15,16 +15,14 @@ module Jekyll
|
|
15
15
|
def self.setup_config(site, opts, path)
|
16
16
|
data_vars = path.nil? ? {} : ConrefifierUtils.data_file_variables(site.config, opts[:actual_path] || path)
|
17
17
|
config = { 'page' => data_vars }
|
18
|
-
|
18
|
+
{ 'site' => { 'data' => site.data, 'config' => site.config } }.merge(config)
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.convert(content, data_vars)
|
22
22
|
value = Liquid::Template.parse(content).render(data_vars)
|
23
23
|
# protects against situations where [page.version] prevented a conversion
|
24
|
-
if value =~ /\{\{/
|
25
|
-
|
26
|
-
end
|
27
|
-
value = value.gsub('"', '\"')
|
24
|
+
value = Liquid::Template.parse(value).render(data_vars) if value =~ /\{\{/
|
25
|
+
value.gsub('"', '\"')
|
28
26
|
end
|
29
27
|
end
|
30
28
|
|
@@ -41,9 +39,7 @@ module Jekyll
|
|
41
39
|
else
|
42
40
|
begin
|
43
41
|
defaults = @site.frontmatter_defaults.all(url, collection.label.to_sym)
|
44
|
-
unless defaults.empty?
|
45
|
-
@data = defaults
|
46
|
-
end
|
42
|
+
@data = defaults unless defaults.empty?
|
47
43
|
@content = File.read(path, merged_file_read_opts(opts))
|
48
44
|
if content =~ FRONT_REGEXP
|
49
45
|
@content = $POSTMATCH
|
@@ -54,7 +50,7 @@ module Jekyll
|
|
54
50
|
value = Jekyll::Renderer.new(@site, self).convert(value)
|
55
51
|
value = value.gsub(/:/, ':')
|
56
52
|
value = value.gsub(/\\"/, '"')
|
57
|
-
value.sub(/^<p>/, '').sub(
|
53
|
+
value.sub(/^<p>/, '').sub(%r{</p>$}, '').strip
|
58
54
|
end
|
59
55
|
|
60
56
|
data_file = SafeYAML.load(prev_match)
|
@@ -70,12 +66,12 @@ module Jekyll
|
|
70
66
|
end
|
71
67
|
|
72
68
|
@data.each_pair do |key, value|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
69
|
+
next unless value =~ /(\{% (?:if|unless).+? %\}.*?\{% end(?:if|unless) %\})/
|
70
|
+
|
71
|
+
data_vars = ConrefifierUtils.setup_config(@site, opts, path)
|
72
|
+
value = ConrefifierUtils.convert(value, data_vars)
|
73
|
+
value = Jekyll::Renderer.new(@site, self).convert(value)
|
74
|
+
@data[key] = value.sub(/^<p>/, '').sub(%r{</p>$}, '').strip
|
79
75
|
end
|
80
76
|
end
|
81
77
|
end
|
@@ -122,7 +118,12 @@ module Jekyll
|
|
122
118
|
end
|
123
119
|
end
|
124
120
|
|
125
|
-
|
121
|
+
begin
|
122
|
+
data[key] = SafeYAML.load(contents)
|
123
|
+
rescue StandardError => e
|
124
|
+
puts "Load error in \n#{contents}: #{e}"
|
125
|
+
raise e
|
126
|
+
end
|
126
127
|
end
|
127
128
|
end
|
128
129
|
end
|
@@ -161,11 +162,11 @@ module Jekyll
|
|
161
162
|
end
|
162
163
|
|
163
164
|
parsed_content = begin
|
164
|
-
|
165
|
-
|
166
|
-
rescue
|
167
|
-
|
168
|
-
|
165
|
+
parsed = Liquid::Template.parse(safe_match).render(config)
|
166
|
+
parsed.gsub(/\[\[/, '{{\1') if preserve_all || preserve_non_vars
|
167
|
+
rescue StandardError => e
|
168
|
+
puts "Parse error in \n#{matches}: #{e}"
|
169
|
+
match
|
169
170
|
end
|
170
171
|
next if parsed_content.nil?
|
171
172
|
contents = contents.sub(match, parsed_content)
|
@@ -206,7 +207,7 @@ module Jekyll
|
|
206
207
|
data_file = context.registers[:site].data["data_render_#{@id}"]
|
207
208
|
return data_file unless data_file.nil?
|
208
209
|
|
209
|
-
path = @id.
|
210
|
+
path = @id.tr('.', '/')
|
210
211
|
data_source = File.join(context.registers[:site].source, context.registers[:site].config['data_source'])
|
211
212
|
data_file = File.read("#{data_source}/#{path}.yml")
|
212
213
|
context.registers[:site].data["data_render_#{@id}"] = data_file
|
@@ -216,7 +217,7 @@ module Jekyll
|
|
216
217
|
datafile = fetch_datafile(context, @keys)
|
217
218
|
|
218
219
|
config = { 'page' => @hash_args }
|
219
|
-
config = { 'site' => {
|
220
|
+
config = { 'site' => { 'data' => context.registers[:site].data } }.merge(config)
|
220
221
|
versioned_yaml = SafeYAML.load(Liquid::Template.parse(datafile).render(config))
|
221
222
|
context.registers[:site].data['data_render'] = versioned_yaml
|
222
223
|
nil
|
data/lib/version.rb
CHANGED