nanoc 4.3.0 → 4.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/Gemfile.lock +9 -8
- data/NEWS.md +12 -4
- data/lib/nanoc/base/compilation/dependency_tracker.rb +5 -0
- data/lib/nanoc/base/compilation/filter.rb +2 -2
- data/lib/nanoc/base/plugin_registry.rb +17 -8
- data/lib/nanoc/helpers/rendering.rb +6 -5
- data/lib/nanoc/version.rb +1 -1
- data/test/base/test_dependency_tracker.rb +4 -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: 2c17ae1096ea2748ca3eb851435e6a5f26829e1e
|
4
|
+
data.tar.gz: 4eae8aec9f2fc44b0ef889074d107d8ab17cc261
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 616d975f7cfdce6e6c5249e1d3366a0c55fa5ac49025410de95c7283869633767e1413739564ead853ca099634550c436dab249e02a7e96114b9cccb06bbfcf0
|
7
|
+
data.tar.gz: 81b97ba18790fc3755ffcc36d2ecc91c9fd0ce6f99c1f5fe26936db42b878a73021d1c8572b68297030bd3e2670bfb44b9b77474e4e4891f61e5adcd58bd1e18
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nanoc (4.3.
|
4
|
+
nanoc (4.3.1)
|
5
5
|
cri (~> 2.3)
|
6
6
|
hamster (~> 3.0)
|
7
7
|
ref (~> 2.0)
|
@@ -52,7 +52,7 @@ GEM
|
|
52
52
|
diff-lcs (1.2.5)
|
53
53
|
docile (1.1.5)
|
54
54
|
erubis (2.7.0)
|
55
|
-
excon (0.
|
55
|
+
excon (0.52.0)
|
56
56
|
execjs (2.7.0)
|
57
57
|
ffi (1.9.14)
|
58
58
|
fission (0.5.0)
|
@@ -184,8 +184,8 @@ GEM
|
|
184
184
|
fog-core
|
185
185
|
nokogiri (~> 1.5, >= 1.5.11)
|
186
186
|
formatador (0.2.5)
|
187
|
-
fuubar (2.
|
188
|
-
rspec (~> 3.0)
|
187
|
+
fuubar (2.2.0)
|
188
|
+
rspec-core (~> 3.0)
|
189
189
|
ruby-progressbar (~> 1.4)
|
190
190
|
guard (2.14.0)
|
191
191
|
formatador (>= 0.2.4)
|
@@ -261,10 +261,11 @@ GEM
|
|
261
261
|
rb-fsevent (0.9.7)
|
262
262
|
rb-inotify (0.9.7)
|
263
263
|
ffi (>= 0.5.0)
|
264
|
-
rbvmomi (1.
|
265
|
-
builder
|
266
|
-
|
267
|
-
|
264
|
+
rbvmomi (1.9.1)
|
265
|
+
builder (~> 3.2)
|
266
|
+
json (>= 1.8)
|
267
|
+
nokogiri (~> 1.5)
|
268
|
+
trollop (~> 2.1)
|
268
269
|
rdiscount (2.2.0.1)
|
269
270
|
rdoc (4.2.1)
|
270
271
|
redcarpet (3.3.4)
|
data/NEWS.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Nanoc news
|
2
2
|
|
3
|
+
## 4.3.1 (???)
|
4
|
+
|
5
|
+
Fixes:
|
6
|
+
|
7
|
+
* Fixed “outdatedness of LayoutView” error (#927, #931)
|
8
|
+
* Fixed bug causing some checks not to appear in `nanoc check --list` (#928, #930)
|
9
|
+
* Fixed `@item`, … not being accessible in filters defined with `Nanoc::Filter.define` (#932, #934)
|
10
|
+
|
3
11
|
## 4.3 (2016-08-21)
|
4
12
|
|
5
13
|
Features:
|
@@ -128,7 +136,7 @@ Enhancements:
|
|
128
136
|
|
129
137
|
* Made `#breadcrumbs_trail` explicitly fail when using full identifiers (#781, #783)
|
130
138
|
|
131
|
-
## 4.1
|
139
|
+
## 4.1 (2015-12-18)
|
132
140
|
|
133
141
|
Fixes:
|
134
142
|
|
@@ -212,7 +220,7 @@ Enhancements:
|
|
212
220
|
|
213
221
|
* Lowered minimum required Ruby version from 2.2 to 2.1 (#732)
|
214
222
|
|
215
|
-
## 4.0
|
223
|
+
## 4.0 (2015-11-07)
|
216
224
|
|
217
225
|
Enhancements:
|
218
226
|
|
@@ -361,7 +369,7 @@ This is a major upgrade. For details on upgrading, see the [nanoc 4 upgrade guid
|
|
361
369
|
|
362
370
|
This release provides no new features, but streamlines the API and functionality, in order to easen future development, both for features and for optimisations.
|
363
371
|
|
364
|
-
## 3.8
|
372
|
+
## 3.8 (2015-05-04)
|
365
373
|
|
366
374
|
Features:
|
367
375
|
|
@@ -435,7 +443,7 @@ Fixes:
|
|
435
443
|
|
436
444
|
* Fixed bug which would cause nanoc to crash if no Gemfile is present (#447, #449)
|
437
445
|
|
438
|
-
## 3.7
|
446
|
+
## 3.7 (2014-06-08)
|
439
447
|
|
440
448
|
New features:
|
441
449
|
|
@@ -12,11 +12,14 @@ module Nanoc::Int
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
include Nanoc::Int::ContractsSupport
|
16
|
+
|
15
17
|
def initialize(dependency_store)
|
16
18
|
@dependency_store = dependency_store
|
17
19
|
@stack = []
|
18
20
|
end
|
19
21
|
|
22
|
+
contract C::Or[Nanoc::Int::Item, Nanoc::Int::Layout] => C::Any
|
20
23
|
def enter(obj)
|
21
24
|
unless @stack.empty?
|
22
25
|
Nanoc::Int::NotificationCenter.post(:dependency_created, @stack.last, obj)
|
@@ -26,10 +29,12 @@ module Nanoc::Int
|
|
26
29
|
@stack.push(obj)
|
27
30
|
end
|
28
31
|
|
32
|
+
contract C::Or[Nanoc::Int::Item, Nanoc::Int::Layout] => C::Any
|
29
33
|
def exit(_obj)
|
30
34
|
@stack.pop
|
31
35
|
end
|
32
36
|
|
37
|
+
contract C::Or[Nanoc::Int::Item, Nanoc::Int::Layout] => C::Any
|
33
38
|
def bounce(obj)
|
34
39
|
enter(obj)
|
35
40
|
exit(obj)
|
@@ -38,10 +38,10 @@ module Nanoc
|
|
38
38
|
extend Nanoc::Int::PluginRegistry::PluginMethods
|
39
39
|
|
40
40
|
class << self
|
41
|
-
def define(ident)
|
41
|
+
def define(ident, &block)
|
42
42
|
filter_class = Class.new(::Nanoc::Filter) { identifier(ident) }
|
43
43
|
filter_class.send(:define_method, :run) do |content, params|
|
44
|
-
|
44
|
+
instance_exec(content, params, &block)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -24,7 +24,8 @@ module Nanoc::Int
|
|
24
24
|
# @return [Array<Symbol>] The identifiers for this plugin
|
25
25
|
def identifiers(*identifiers)
|
26
26
|
if identifiers.empty?
|
27
|
-
Nanoc::Int::PluginRegistry.instance
|
27
|
+
registry = Nanoc::Int::PluginRegistry.instance
|
28
|
+
registry.identifiers_of(registry.root_class_of(self), self)
|
28
29
|
else
|
29
30
|
register(self, *identifiers)
|
30
31
|
end
|
@@ -45,7 +46,8 @@ module Nanoc::Int
|
|
45
46
|
if identifier
|
46
47
|
identifiers(identifier)
|
47
48
|
else
|
48
|
-
Nanoc::Int::PluginRegistry.instance
|
49
|
+
registry = Nanoc::Int::PluginRegistry.instance
|
50
|
+
registry.identifiers_of(registry.root_class_of(self), self).first
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
@@ -59,13 +61,9 @@ module Nanoc::Int
|
|
59
61
|
#
|
60
62
|
# @return [void]
|
61
63
|
def register(class_or_name, *identifiers)
|
62
|
-
# Find plugin class
|
63
|
-
klass = self
|
64
|
-
klass = klass.superclass while klass.superclass.respond_to?(:register)
|
65
|
-
|
66
|
-
# Register
|
67
64
|
registry = Nanoc::Int::PluginRegistry.instance
|
68
|
-
registry.
|
65
|
+
root = registry.root_class_of(self)
|
66
|
+
registry.register(root, class_or_name, *identifiers)
|
69
67
|
end
|
70
68
|
|
71
69
|
# @return [Hash<Symbol, Class>] All plugins of this type, with keys
|
@@ -159,6 +157,17 @@ module Nanoc::Int
|
|
159
157
|
res
|
160
158
|
end
|
161
159
|
|
160
|
+
# @param [Class] klass
|
161
|
+
#
|
162
|
+
# @return [Class]
|
163
|
+
#
|
164
|
+
# @api private
|
165
|
+
def root_class_of(subclass)
|
166
|
+
root_class = subclass
|
167
|
+
root_class = root_class.superclass while root_class.superclass.respond_to?(:register)
|
168
|
+
root_class
|
169
|
+
end
|
170
|
+
|
162
171
|
# Returns a list of all plugins. The returned list of plugins is an array
|
163
172
|
# with array elements in the following format:
|
164
173
|
#
|
@@ -13,9 +13,10 @@ module Nanoc::Helpers
|
|
13
13
|
# @return [String, nil]
|
14
14
|
def render(identifier, other_assigns = {}, &block)
|
15
15
|
# Find layout
|
16
|
-
|
17
|
-
|
18
|
-
raise Nanoc::Int::Errors::UnknownLayout.new(identifier) if
|
16
|
+
layout_view = @layouts[identifier]
|
17
|
+
layout_view ||= @layouts[identifier.__nanoc_cleaned_identifier]
|
18
|
+
raise Nanoc::Int::Errors::UnknownLayout.new(identifier) if layout_view.nil?
|
19
|
+
layout = layout_view.unwrap
|
19
20
|
|
20
21
|
# Visit
|
21
22
|
dependency_tracker = @config._context.dependency_tracker
|
@@ -30,7 +31,7 @@ module Nanoc::Helpers
|
|
30
31
|
item: @item,
|
31
32
|
item_rep: @item_rep,
|
32
33
|
items: @items,
|
33
|
-
layout:
|
34
|
+
layout: layout_view,
|
34
35
|
layouts: @layouts,
|
35
36
|
config: @config,
|
36
37
|
}.merge(other_assigns)
|
@@ -51,7 +52,7 @@ module Nanoc::Helpers
|
|
51
52
|
Nanoc::Int::NotificationCenter.post(:processing_started, layout)
|
52
53
|
|
53
54
|
# Layout
|
54
|
-
content = layout.
|
55
|
+
content = layout.content
|
55
56
|
arg = content.binary? ? content.filename : content.string
|
56
57
|
result = filter.setup_and_run(arg, filter_args)
|
57
58
|
|
data/lib/nanoc/version.rb
CHANGED
@@ -87,7 +87,10 @@ class Nanoc::Int::DependencyTrackerTest < Nanoc::TestCase
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def test_enter_and_exit
|
90
|
-
items = [
|
90
|
+
items = [
|
91
|
+
Nanoc::Int::Item.new('Foo', {}, '/foo.md'),
|
92
|
+
Nanoc::Int::Item.new('Bar', {}, '/bar.md'),
|
93
|
+
]
|
91
94
|
|
92
95
|
store = Nanoc::Int::DependencyStore.new(items)
|
93
96
|
tracker = Nanoc::Int::DependencyTracker.new(store)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.3.
|
4
|
+
version: 4.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denis Defreyne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cri
|