nanoc-conref-fs 0.6.1 → 0.6.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 643c54357fd0361c0123a9d722ba4894e62d5f55
4
- data.tar.gz: 1ce617281d9e1f819fb0b2f4f6c0df22975eee2d
3
+ metadata.gz: 2d01c92aa582b947c2845c60898017b6ef47c30e
4
+ data.tar.gz: 2ecb11916d271d8ee34291c028dcd3bf7937fc38
5
5
  SHA512:
6
- metadata.gz: 5748f945fe9a5a3472c6755b94bf9834517b3d939e5311fd736d9fe87cfed447cdf5ce79d7e0484398bb7db844187d81cd2a411a45bf45666db7bf10fb30b69b
7
- data.tar.gz: 485936ca60828db60518f2f12f8796b8dab8532cb0e2cb0e19a69478afe4777e7e5e377ae51818a40997abc4192f386f919a3b5e26fe2d68d440480289abbcb4
6
+ metadata.gz: bdd96dbbb9abb7498a45cbc4821fb0690f648ac85c565ff5335c5bb046853cef50975631fc261bf39e941bc2b69bf8e9a02fa4c997347480e6d6125bed582596
7
+ data.tar.gz: 289b1f20ed550fbad9fd8b9a0536714252a99e5f1ef6eb85857c9163f4c6d6d6b0f6ac06039f9cfa1a84fa1973655ba66944183a36d9aa455f5e55e9e3fb7b37
data/README.md CHANGED
@@ -25,6 +25,8 @@ data_sources:
25
25
  - :X
26
26
  ```
27
27
 
28
+ You can add `filter :'conref-fs-filter'` to any of your `compile` Rules to then have them renderer through the conref processor.
29
+
28
30
  **NOTE:** If you use this library with Nanoc's ERB filter, and want to use `render`, you'll need to monkey-patch an alias to avoid conflicts with Liquid:
29
31
 
30
32
  ``` ruby
@@ -4,36 +4,27 @@ module NanocConrefFS
4
4
  module Conrefifier
5
5
  SINGLE_SUB = /(\{\{[^\}]+\}\})/m
6
6
  BLOCK_SUB = /\{% (?:if|unless).+? %\}.*?\{% end(?:if|unless) %\}/m
7
- PATH_TO_VARS = {}
8
7
 
9
8
  def self.file_variables(variables, path, rep)
10
9
  return {} if variables.nil?
11
10
 
12
11
  data_vars = {}
13
12
 
14
- # this saves a bunch of time because we don't need to
15
- # recalculate the paths (looping over scopes, etc)
16
- if PATH_TO_VARS[rep] && PATH_TO_VARS[rep][path]
17
- data_vars = PATH_TO_VARS[rep][path]
13
+ scopes = variables.select do |v|
14
+ scope_block = v[:scope]
15
+ scoped_path = scope_block[:path].empty? || Regexp.new(scope_block[:path]) =~ path
16
+ scoped_rep = scope_block[:reps].nil? || scope_block[:reps].include?(rep)
17
+ scoped_path && scoped_rep
18
+ end
19
+
20
+ # I benchmarked that assignment is much
21
+ # faster than merging an empty hash
22
+ if scopes.length == 1
23
+ data_vars = scopes.first[:values]
18
24
  else
19
- scopes = variables.select do |v|
20
- scope_block = v[:scope]
21
- scoped_path = scope_block[:path].empty? || Regexp.new(scope_block[:path]) =~ path
22
- scoped_rep = scope_block[:reps].nil? || scope_block[:reps].include?(rep)
23
- scoped_path && scoped_rep
24
- end
25
- # I benchmarked that assignment is much faster than
26
- # merging an empty hash
27
- if scopes.length == 1
28
- data_vars = scopes.first[:values]
29
- else
30
- scopes.each do |scope|
31
- data_vars = data_vars.merge(scope[:values])
32
- end
25
+ scopes.each do |scope|
26
+ data_vars = data_vars.merge(scope[:values])
33
27
  end
34
- # stash for later use
35
- PATH_TO_VARS[rep] = {}
36
- PATH_TO_VARS[rep][path] = data_vars
37
28
  end
38
29
 
39
30
  data_vars
@@ -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.6.1'
6
+ spec.version = '0.6.2'
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.6.1
4
+ version: 0.6.2
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-12-18 00:00:00.000000000 Z
11
+ date: 2015-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nanoc