nanoc-conref-fs 0.3.0 → 0.3.1
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/nanoc-conref-fs/conref-fs.rb +8 -7
- data/lib/nanoc-conref-fs/conrefifier.rb +2 -2
- data/lib/nanoc-conref-fs/datafiles.rb +1 -2
- data/nanoc-conref-fs.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3b07a695903733da2e3cfe4002b57b013230b34c
|
|
4
|
+
data.tar.gz: 23cb84fe8bb0bd5e83d3e1e3b590a1066691b842
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43f5e209407425ce90419e4ead6d918652496b1f34add52be997e77b86b88af0d64ae865f0d7c6654723058def88a551f0a76edf8daad67357782bb199eebccf
|
|
7
|
+
data.tar.gz: 77039bc41c38db0b76c60655837651fe4e141fda8354c47c6197515d278cb11d0d2d18e9fb13f4c1644fa51e98d18039edaa50952e8852df37c3075487123264
|
|
@@ -31,8 +31,9 @@ class ConrefFS < Nanoc::DataSource
|
|
|
31
31
|
# and applies to to an ivar for later usage.
|
|
32
32
|
def load_objects(dir_name, kind, klass)
|
|
33
33
|
if klass == Nanoc::Int::Item && @variables.nil?
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
config = @site_config.to_h.stringify_keys
|
|
35
|
+
data = Datafiles.process(config)
|
|
36
|
+
@variables = { 'site' => { 'config' => config, 'data' => data } }
|
|
36
37
|
VariableMixin.variables = @variables
|
|
37
38
|
end
|
|
38
39
|
super
|
|
@@ -42,16 +43,16 @@ class ConrefFS < Nanoc::DataSource
|
|
|
42
43
|
def parse(content_filename, meta_filename, _kind)
|
|
43
44
|
meta, content = super
|
|
44
45
|
page_vars = Conrefifier.file_variables(@site_config[:page_variables], content_filename)
|
|
45
|
-
unless page_vars[
|
|
46
|
-
association = page_vars[
|
|
46
|
+
unless page_vars['data_association'].nil?
|
|
47
|
+
association = page_vars['data_association']
|
|
47
48
|
toc = VariableMixin.fetch_data_file(association)
|
|
48
|
-
meta[
|
|
49
|
+
meta[:parents] = if toc.is_a?(Array)
|
|
49
50
|
find_array_parents(toc, meta['title'])
|
|
50
51
|
else
|
|
51
52
|
find_hash_parents(toc, meta['title'])
|
|
52
53
|
end
|
|
53
54
|
|
|
54
|
-
meta[
|
|
55
|
+
meta[:children] = if toc.is_a?(Array)
|
|
55
56
|
find_array_children(toc, meta['title'])
|
|
56
57
|
else
|
|
57
58
|
find_hash_children(toc, meta['title'])
|
|
@@ -143,7 +144,7 @@ class ConrefFS < Nanoc::DataSource
|
|
|
143
144
|
def read(filename)
|
|
144
145
|
begin
|
|
145
146
|
page_vars = Conrefifier.file_variables(@site_config[:page_variables], filename)
|
|
146
|
-
page_vars = {
|
|
147
|
+
page_vars = { 'page' => page_vars }.merge(@variables)
|
|
147
148
|
|
|
148
149
|
data = File.read(filename)
|
|
149
150
|
return data unless filename.start_with?('content', 'layouts')
|
|
@@ -7,12 +7,12 @@ module Conrefifier
|
|
|
7
7
|
data_vars = {}
|
|
8
8
|
scopes = variables.select { |v| v[:scope][:path].empty? || Regexp.new(v[:scope][:path]) =~ path }
|
|
9
9
|
scopes.each do |scope|
|
|
10
|
-
data_vars = data_vars.merge(scope[:values])
|
|
10
|
+
data_vars = data_vars.merge(scope[:values].stringify_keys)
|
|
11
11
|
end
|
|
12
12
|
data_vars
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def self.apply_liquid(content, data_vars)
|
|
16
|
-
::Liquid::Template.parse(content).render(data_vars
|
|
16
|
+
::Liquid::Template.parse(content).render(data_vars)
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -7,8 +7,7 @@ module Datafiles
|
|
|
7
7
|
|
|
8
8
|
def self.apply_conditionals(config, path, content)
|
|
9
9
|
data_vars = Conrefifier.file_variables(config[:data_variables], path)
|
|
10
|
-
data_vars = {
|
|
11
|
-
|
|
10
|
+
data_vars = { 'page' => data_vars, 'site' => { 'config' => config } }
|
|
12
11
|
content = content.gsub(/(\s*\{% (?:if|unless).+? %\}.*?\{% end(?:if|unless) %\})/m) do |match|
|
|
13
12
|
# We must obfuscate Liquid variables while replacing conditionals
|
|
14
13
|
match = match.gsub(/{{/, '~~#~~')
|
data/nanoc-conref-fs.gemspec
CHANGED
|
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |spec|
|
|
5
5
|
spec.name = 'nanoc-conref-fs'
|
|
6
|
-
spec.version = '0.3.
|
|
6
|
+
spec.version = '0.3.1'
|
|
7
7
|
spec.authors = ['Garen Torikian']
|
|
8
8
|
spec.email = ['gjtorikian@gmail.com']
|
|
9
9
|
spec.summary = 'A Nanoc filesystem to permit using conrefs/reusables in your content.'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nanoc-conref-fs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Garen Torikian
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-10-
|
|
11
|
+
date: 2015-10-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nanoc
|