nanoc 4.2.0b1 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/Gemfile.lock +38 -37
- data/NEWS.md +19 -0
- data/README.md +1 -1
- data/lib/nanoc/base/compilation/compiler.rb +6 -3
- data/lib/nanoc/base/compilation/outdatedness_reasons.rb +14 -7
- data/lib/nanoc/base/repos/config_loader.rb +2 -1
- data/lib/nanoc/base/services/item_rep_router.rb +5 -4
- data/lib/nanoc/base/services/item_rep_writer.rb +4 -2
- data/lib/nanoc/cli/commands/compile.rb +4 -6
- data/lib/nanoc/cli/commands/deploy.rb +2 -3
- data/lib/nanoc/data_sources/filesystem.rb +3 -5
- data/lib/nanoc/extra/checking/checks/external_links.rb +2 -1
- data/lib/nanoc/extra/checking/checks/internal_links.rb +2 -1
- data/lib/nanoc/extra/checking/checks/mixed_content.rb +2 -1
- data/lib/nanoc/extra/checking/checks/stale.rb +4 -2
- data/lib/nanoc/filters/relativize_paths.rb +2 -3
- data/lib/nanoc/helpers/xml_sitemap.rb +1 -1
- data/lib/nanoc/rule_dsl/action_provider.rb +2 -1
- data/lib/nanoc/rule_dsl/rule.rb +2 -1
- data/lib/nanoc/version.rb +1 -1
- data/nanoc.gemspec +3 -3
- data/test/base/test_compiler.rb +2 -1
- data/test/extra/deployers/test_fog.rb +16 -8
- data/test/extra/deployers/test_rsync.rb +8 -4
- data/test/filters/test_colorize_syntax.rb +2 -1
- data/test/filters/test_handlebars.rb +6 -3
- data/test/filters/test_mustache.rb +2 -1
- data/test/filters/test_rdiscount.rb +13 -12
- data/test/filters/test_relativize_paths.rb +108 -54
- data/test/rule_dsl/test_action_provider.rb +12 -6
- data/test/rule_dsl/test_compiler_dsl.rb +4 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62464e0106788a92d1c8ebe9ff6b186fe6f00f10
|
4
|
+
data.tar.gz: a6d7768e4124360a3d48f5805d1b1fd4aa86dd69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be55ec0837f06213c9673cb0ebe91e8a973f494a8b90a4c63c6757cdb7083401825a075ed952f994158f3ef72bdee204e98fe516b9c72806ab5c5a27f87effff
|
7
|
+
data.tar.gz: af81c35ffea130df18be4018e5f20ed18f5d348f9b923c2ebb2521113512d89e2e05238d6a955eadc339c1d553abfd6568f672b8441a61a94cde5a8cb43076e0
|
data/Gemfile
CHANGED
@@ -42,9 +42,9 @@ group :plugins do
|
|
42
42
|
gem 'pygments.rb', platforms: [:ruby, :mswin]
|
43
43
|
gem 'rack'
|
44
44
|
gem 'rainpress'
|
45
|
-
gem 'rdiscount', platforms: [:ruby, :mswin]
|
45
|
+
gem 'rdiscount', '~> 2.2', platforms: [:ruby, :mswin]
|
46
46
|
gem 'redcarpet', platforms: [:ruby, :mswin]
|
47
|
-
gem 'RedCloth'
|
47
|
+
gem 'RedCloth', platforms: :ruby
|
48
48
|
gem 'rouge'
|
49
49
|
gem 'rubypants'
|
50
50
|
gem 'sass'
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nanoc (4.2.
|
4
|
+
nanoc (4.2.0)
|
5
5
|
cri (~> 2.3)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
CFPropertyList (2.3.2)
|
11
|
-
RedCloth (4.2
|
11
|
+
RedCloth (4.3.2)
|
12
12
|
addressable (2.4.0)
|
13
13
|
adsf (1.2.1)
|
14
14
|
rack (>= 1.0.0)
|
@@ -49,7 +49,7 @@ GEM
|
|
49
49
|
docile (1.1.5)
|
50
50
|
erubis (2.7.0)
|
51
51
|
excon (0.49.0)
|
52
|
-
execjs (2.
|
52
|
+
execjs (2.7.0)
|
53
53
|
ffi (1.9.10)
|
54
54
|
fission (0.5.0)
|
55
55
|
CFPropertyList (~> 2.2)
|
@@ -104,9 +104,9 @@ GEM
|
|
104
104
|
fog-json (~> 1.0)
|
105
105
|
fog-xml (~> 0.1)
|
106
106
|
ipaddress (~> 0.8)
|
107
|
-
fog-core (1.
|
107
|
+
fog-core (1.40.0)
|
108
108
|
builder
|
109
|
-
excon (~> 0.
|
109
|
+
excon (~> 0.49)
|
110
110
|
formatador (~> 0.2)
|
111
111
|
fog-dynect (0.0.3)
|
112
112
|
fog-core
|
@@ -124,10 +124,9 @@ GEM
|
|
124
124
|
multi_json (~> 1.10)
|
125
125
|
fog-local (0.3.0)
|
126
126
|
fog-core (~> 1.27)
|
127
|
-
fog-openstack (0.1.
|
128
|
-
fog-core (>= 1.
|
127
|
+
fog-openstack (0.1.6)
|
128
|
+
fog-core (>= 1.39)
|
129
129
|
fog-json (>= 1.0)
|
130
|
-
fog-xml (>= 0.1)
|
131
130
|
ipaddress (>= 0.8)
|
132
131
|
fog-powerdns (0.1.1)
|
133
132
|
fog-core (~> 1.27)
|
@@ -156,7 +155,7 @@ GEM
|
|
156
155
|
fog-serverlove (0.1.2)
|
157
156
|
fog-core
|
158
157
|
fog-json
|
159
|
-
fog-softlayer (1.1.
|
158
|
+
fog-softlayer (1.1.1)
|
160
159
|
fog-core
|
161
160
|
fog-json
|
162
161
|
fog-storm_on_demand (0.1.1)
|
@@ -171,7 +170,7 @@ GEM
|
|
171
170
|
fog-voxel (0.1.0)
|
172
171
|
fog-core
|
173
172
|
fog-xml
|
174
|
-
fog-vsphere (0.
|
173
|
+
fog-vsphere (0.7.0)
|
175
174
|
fog-core
|
176
175
|
rbvmomi (~> 1.8)
|
177
176
|
fog-xenserver (0.2.3)
|
@@ -181,9 +180,9 @@ GEM
|
|
181
180
|
fog-core
|
182
181
|
nokogiri (~> 1.5, >= 1.5.11)
|
183
182
|
formatador (0.2.5)
|
184
|
-
guard (2.
|
183
|
+
guard (2.14.0)
|
185
184
|
formatador (>= 0.2.4)
|
186
|
-
listen (>= 2.7,
|
185
|
+
listen (>= 2.7, < 4.0)
|
187
186
|
lumberjack (~> 1.0)
|
188
187
|
nenv (~> 0.1)
|
189
188
|
notiffany (~> 0.0)
|
@@ -203,36 +202,37 @@ GEM
|
|
203
202
|
inflecto (0.0.2)
|
204
203
|
ipaddress (0.8.3)
|
205
204
|
json (1.8.3)
|
206
|
-
kramdown (1.
|
205
|
+
kramdown (1.11.1)
|
207
206
|
less (2.6.0)
|
208
207
|
commonjs (~> 0.2.7)
|
209
|
-
libv8 (3.16.14.
|
210
|
-
listen (3.
|
211
|
-
rb-fsevent (>= 0.9.
|
212
|
-
rb-inotify (>= 0.9.7)
|
208
|
+
libv8 (3.16.14.15)
|
209
|
+
listen (3.1.5)
|
210
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
211
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
212
|
+
ruby_dep (~> 1.2)
|
213
213
|
lumberjack (1.0.10)
|
214
214
|
markaby (0.8.0)
|
215
215
|
builder
|
216
216
|
maruku (0.7.2)
|
217
217
|
metaclass (0.0.4)
|
218
218
|
method_source (0.8.2)
|
219
|
-
mime-types (3.
|
219
|
+
mime-types (3.1)
|
220
220
|
mime-types-data (~> 3.2015)
|
221
|
-
mime-types-data (3.2016.
|
221
|
+
mime-types-data (3.2016.0521)
|
222
222
|
mini_portile2 (2.0.0)
|
223
|
-
minitest (5.
|
223
|
+
minitest (5.9.0)
|
224
224
|
mocha (1.1.0)
|
225
225
|
metaclass (~> 0.0.1)
|
226
|
-
multi_json (1.
|
226
|
+
multi_json (1.12.1)
|
227
227
|
mustache (1.0.3)
|
228
228
|
nenv (0.3.0)
|
229
229
|
nokogiri (1.6.7.2)
|
230
230
|
mini_portile2 (~> 2.0.0.rc2)
|
231
|
-
notiffany (0.0
|
231
|
+
notiffany (0.1.0)
|
232
232
|
nenv (~> 0.1)
|
233
233
|
shellany (~> 0.0)
|
234
|
-
pandoc-ruby (2.0.
|
235
|
-
parser (2.3.
|
234
|
+
pandoc-ruby (2.0.1)
|
235
|
+
parser (2.3.1.2)
|
236
236
|
ast (~> 2.2)
|
237
237
|
posix-spawn (0.3.11)
|
238
238
|
powerpack (0.1.1)
|
@@ -254,7 +254,7 @@ GEM
|
|
254
254
|
builder
|
255
255
|
nokogiri (>= 1.4.1)
|
256
256
|
trollop
|
257
|
-
rdiscount (2.1
|
257
|
+
rdiscount (2.2.0.1)
|
258
258
|
rdoc (4.2.2)
|
259
259
|
json (~> 1.4)
|
260
260
|
redcarpet (3.3.4)
|
@@ -273,13 +273,14 @@ GEM
|
|
273
273
|
diff-lcs (>= 1.2.0, < 2.0)
|
274
274
|
rspec-support (~> 3.4.0)
|
275
275
|
rspec-support (3.4.1)
|
276
|
-
rubocop (0.
|
277
|
-
parser (>= 2.3.0
|
276
|
+
rubocop (0.40.0)
|
277
|
+
parser (>= 2.3.1.0, < 3.0)
|
278
278
|
powerpack (~> 0.1)
|
279
279
|
rainbow (>= 1.99.1, < 3.0)
|
280
280
|
ruby-progressbar (~> 1.7)
|
281
281
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
282
|
-
ruby-progressbar (1.
|
282
|
+
ruby-progressbar (1.8.1)
|
283
|
+
ruby_dep (1.3.1)
|
283
284
|
rubypants (0.2.0)
|
284
285
|
safe_yaml (1.0.4)
|
285
286
|
sass (3.4.22)
|
@@ -289,30 +290,30 @@ GEM
|
|
289
290
|
json (~> 1.8)
|
290
291
|
simplecov-html (~> 0.10.0)
|
291
292
|
simplecov-html (0.10.0)
|
292
|
-
slim (3.0.
|
293
|
-
temple (~> 0.7.
|
293
|
+
slim (3.0.7)
|
294
|
+
temple (~> 0.7.6)
|
294
295
|
tilt (>= 1.3.3, < 2.1)
|
295
296
|
slop (3.6.0)
|
296
|
-
temple (0.7.
|
297
|
+
temple (0.7.7)
|
297
298
|
term-ansicolor (1.3.2)
|
298
299
|
tins (~> 1.0)
|
299
300
|
therubyracer (0.12.2)
|
300
301
|
libv8 (~> 3.16.14.0)
|
301
302
|
ref
|
302
303
|
thor (0.19.1)
|
303
|
-
tilt (2.0.
|
304
|
+
tilt (2.0.5)
|
304
305
|
tins (1.6.0)
|
305
306
|
trollop (2.1.2)
|
306
307
|
typogruby (1.0.18)
|
307
308
|
rubypants
|
308
309
|
uglifier (3.0.0)
|
309
310
|
execjs (>= 0.3.0, < 3)
|
310
|
-
unicode-display_width (1.0.
|
311
|
-
vcr (3.0.
|
311
|
+
unicode-display_width (1.0.5)
|
312
|
+
vcr (3.0.3)
|
312
313
|
w3c_validators (1.2)
|
313
314
|
json
|
314
315
|
nokogiri
|
315
|
-
webmock (1.
|
316
|
+
webmock (2.1.0)
|
316
317
|
addressable (>= 2.3.6)
|
317
318
|
crack (>= 0.3.2)
|
318
319
|
hashdiff
|
@@ -356,7 +357,7 @@ DEPENDENCIES
|
|
356
357
|
rack
|
357
358
|
rainpress
|
358
359
|
rake
|
359
|
-
rdiscount
|
360
|
+
rdiscount (~> 2.2)
|
360
361
|
rdoc
|
361
362
|
redcarpet
|
362
363
|
rouge
|
@@ -376,4 +377,4 @@ DEPENDENCIES
|
|
376
377
|
yuicompressor
|
377
378
|
|
378
379
|
BUNDLED WITH
|
379
|
-
1.
|
380
|
+
1.12.4
|
data/NEWS.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Nanoc news
|
2
2
|
|
3
|
+
## 4.2 (2016-06-04)
|
4
|
+
|
5
|
+
Enhancements:
|
6
|
+
|
7
|
+
* Dropped Ruby 2.1 support (#856)
|
8
|
+
|
9
|
+
This release also includes the changes from 4.2.0b1.
|
10
|
+
|
11
|
+
## 4.1.6 (2016-04-17)
|
12
|
+
|
13
|
+
Fixes:
|
14
|
+
|
15
|
+
* Strip index.html only if it is a full component (#850, #851)
|
16
|
+
* Force UTF-8 for item rep paths (#837, #852)
|
17
|
+
|
3
18
|
## 4.2.0b1 (2016-04-17)
|
4
19
|
|
5
20
|
Features:
|
@@ -73,6 +88,8 @@ Enhancements:
|
|
73
88
|
|
74
89
|
* Added a base path to the Checks file, so that it supports `#require_relative` (#774)
|
75
90
|
|
91
|
+
This release also includes the changes from 4.1.0a1 to 4.1.0rc2.
|
92
|
+
|
76
93
|
## 4.1.0rc2 (2015-12-13)
|
77
94
|
|
78
95
|
Fixes:
|
@@ -149,6 +166,8 @@ Enhancements:
|
|
149
166
|
|
150
167
|
* `#parent` and `#children` now raise an exception when used on items with a non-legacy identifier (#710)
|
151
168
|
|
169
|
+
This release also includes the changes from 4.0.0a1 to 4.0.0rc3.
|
170
|
+
|
152
171
|
## 4.0.0rc3 (2015-09-20)
|
153
172
|
|
154
173
|
Features:
|
data/README.md
CHANGED
@@ -19,4 +19,4 @@ Contributions are greatly appreciated! Consult the [Development guidelines](http
|
|
19
19
|
|
20
20
|
Many thanks to everyone who has contributed to Nanoc in one way or another:
|
21
21
|
|
22
|
-
Ale Muñoz, Alexander Mankuta, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Gregory Pakosz, Grégory Karékinian, Guilherme Garnier, Jack Chu, Jake Benilov, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Louis T., Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Michal Cichra, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
|
22
|
+
Ale Muñoz, Alexander Mankuta, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Denis Defreyne, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Gregory Pakosz, Grégory Karékinian, Guilherme Garnier, Jack Chu, Jake Benilov, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Louis T., Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Michal Cichra, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
|
@@ -90,9 +90,11 @@ module Nanoc::Int
|
|
90
90
|
store
|
91
91
|
ensure
|
92
92
|
Nanoc::Int::TempFilenameFactory.instance.cleanup(
|
93
|
-
Nanoc::Filter::TMP_BINARY_ITEMS_DIR
|
93
|
+
Nanoc::Filter::TMP_BINARY_ITEMS_DIR,
|
94
|
+
)
|
94
95
|
Nanoc::Int::TempFilenameFactory.instance.cleanup(
|
95
|
-
Nanoc::Int::ItemRepWriter::TMP_TEXT_ITEMS_DIR
|
96
|
+
Nanoc::Int::ItemRepWriter::TMP_TEXT_ITEMS_DIR,
|
97
|
+
)
|
96
98
|
end
|
97
99
|
|
98
100
|
def load_stores
|
@@ -121,7 +123,8 @@ module Nanoc::Int
|
|
121
123
|
|
122
124
|
def build_reps
|
123
125
|
builder = Nanoc::Int::ItemRepBuilder.new(
|
124
|
-
site, action_provider, @reps
|
126
|
+
site, action_provider, @reps
|
127
|
+
)
|
125
128
|
builder.run
|
126
129
|
end
|
127
130
|
|
@@ -17,24 +17,31 @@ module Nanoc::Int
|
|
17
17
|
end
|
18
18
|
|
19
19
|
CodeSnippetsModified = Generic.new(
|
20
|
-
'The code snippets have been modified since the last time the site was compiled.'
|
20
|
+
'The code snippets have been modified since the last time the site was compiled.',
|
21
|
+
)
|
21
22
|
|
22
23
|
ConfigurationModified = Generic.new(
|
23
|
-
'The site configuration has been modified since the last time the site was compiled.'
|
24
|
+
'The site configuration has been modified since the last time the site was compiled.',
|
25
|
+
)
|
24
26
|
|
25
27
|
DependenciesOutdated = Generic.new(
|
26
|
-
'This item uses content or attributes that have changed since the last time the site was compiled.'
|
28
|
+
'This item uses content or attributes that have changed since the last time the site was compiled.',
|
29
|
+
)
|
27
30
|
|
28
31
|
NotEnoughData = Generic.new(
|
29
|
-
'Not enough data is present to correctly determine whether the item is outdated.'
|
32
|
+
'Not enough data is present to correctly determine whether the item is outdated.',
|
33
|
+
)
|
30
34
|
|
31
35
|
NotWritten = Generic.new(
|
32
|
-
'This item representation has not yet been written to the output directory (but it does have a path).'
|
36
|
+
'This item representation has not yet been written to the output directory (but it does have a path).',
|
37
|
+
)
|
33
38
|
|
34
39
|
RulesModified = Generic.new(
|
35
|
-
'The rules file has been modified since the last time the site was compiled.'
|
40
|
+
'The rules file has been modified since the last time the site was compiled.',
|
41
|
+
)
|
36
42
|
|
37
43
|
SourceModified = Generic.new(
|
38
|
-
'The source file of this item has been modified since the last time the site was compiled.'
|
44
|
+
'The source file of this item has been modified since the last time the site was compiled.',
|
45
|
+
)
|
39
46
|
end
|
40
47
|
end
|
@@ -28,6 +28,7 @@ module Nanoc::Int
|
|
28
28
|
def route_rep(rep, snapshot_action, paths_to_reps)
|
29
29
|
basic_path = snapshot_action.path
|
30
30
|
return if basic_path.nil?
|
31
|
+
basic_path = basic_path.encode('UTF-8')
|
31
32
|
|
32
33
|
# Check for duplicate paths
|
33
34
|
if paths_to_reps.key?(basic_path)
|
@@ -42,10 +43,10 @@ module Nanoc::Int
|
|
42
43
|
|
43
44
|
def strip_index_filename(basic_path)
|
44
45
|
@site.config[:index_filenames].each do |index_filename|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
slashed_index_filename = '/' + index_filename
|
47
|
+
if basic_path.end_with?(slashed_index_filename)
|
48
|
+
return basic_path[0..-index_filename.length - 1]
|
49
|
+
end
|
49
50
|
end
|
50
51
|
|
51
52
|
basic_path
|
@@ -12,7 +12,8 @@ module Nanoc::Int
|
|
12
12
|
|
13
13
|
# Notify
|
14
14
|
Nanoc::Int::NotificationCenter.post(
|
15
|
-
:will_write_rep, item_rep, raw_path
|
15
|
+
:will_write_rep, item_rep, raw_path
|
16
|
+
)
|
16
17
|
|
17
18
|
content = item_rep.snapshot_contents[:last]
|
18
19
|
if content.binary?
|
@@ -32,7 +33,8 @@ module Nanoc::Int
|
|
32
33
|
|
33
34
|
# Notify
|
34
35
|
Nanoc::Int::NotificationCenter.post(
|
35
|
-
:rep_written, item_rep, raw_path, is_created, is_modified
|
36
|
+
:rep_written, item_rep, raw_path, is_created, is_modified
|
37
|
+
)
|
36
38
|
end
|
37
39
|
|
38
40
|
def temp_filename
|
@@ -320,15 +320,13 @@ module Nanoc::CLI::Commands
|
|
320
320
|
Nanoc::Int::NotificationCenter.on(:rep_written) do |_rep, path, is_created, is_modified|
|
321
321
|
duration = path && @start_times[path] ? Time.now - @start_times[path] : nil
|
322
322
|
action =
|
323
|
-
|
324
|
-
|
325
|
-
when is_modified then :update
|
323
|
+
if is_created then :create
|
324
|
+
elsif is_modified then :update
|
326
325
|
else :identical
|
327
326
|
end
|
328
327
|
level =
|
329
|
-
|
330
|
-
|
331
|
-
when is_modified then :high
|
328
|
+
if is_created then :high
|
329
|
+
elsif is_modified then :high
|
332
330
|
else :low
|
333
331
|
end
|
334
332
|
log(level, action, path, duration)
|
@@ -345,9 +345,7 @@ module Nanoc::DataSources
|
|
345
345
|
|
346
346
|
pieces = data.split(/^(-{5}|-{3})[ \t]*\r?\n?/, 3)
|
347
347
|
if pieces.size < 4
|
348
|
-
raise
|
349
|
-
"The file '#{content_filename}' appears to start with a metadata section (three or five dashes at the top) but it does not seem to be in the correct format.",
|
350
|
-
)
|
348
|
+
raise "The file '#{content_filename}' appears to start with a metadata section (three or five dashes at the top) but it does not seem to be in the correct format."
|
351
349
|
end
|
352
350
|
|
353
351
|
meta = parse_metadata(pieces[2], content_filename)
|
@@ -402,7 +400,7 @@ module Nanoc::DataSources
|
|
402
400
|
begin
|
403
401
|
data = File.read(filename)
|
404
402
|
rescue => e
|
405
|
-
raise
|
403
|
+
raise "Could not read #{filename}: #{e.inspect}"
|
406
404
|
end
|
407
405
|
|
408
406
|
# Fix
|
@@ -433,7 +431,7 @@ module Nanoc::DataSources
|
|
433
431
|
|
434
432
|
# Raises an invalid encoding error for the given filename and encoding.
|
435
433
|
def raise_encoding_error(filename, encoding)
|
436
|
-
raise
|
434
|
+
raise "Could not read #{filename} because the file is not valid #{encoding}."
|
437
435
|
end
|
438
436
|
end
|
439
437
|
end
|
@@ -10,7 +10,8 @@ module Nanoc::Extra::Checking::Checks
|
|
10
10
|
|
11
11
|
add_issue(
|
12
12
|
'file without matching item',
|
13
|
-
subject: f
|
13
|
+
subject: f,
|
14
|
+
)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
@@ -23,7 +24,8 @@ module Nanoc::Extra::Checking::Checks
|
|
23
24
|
.flat_map(&:reps)
|
24
25
|
.map(&:unwrap)
|
25
26
|
.flat_map(&:raw_paths)
|
26
|
-
.flat_map(&:values)
|
27
|
+
.flat_map(&:values),
|
28
|
+
)
|
27
29
|
end
|
28
30
|
|
29
31
|
def pruner
|
@@ -39,10 +39,9 @@ module Nanoc::Filters
|
|
39
39
|
when :html, :xml, :xhtml
|
40
40
|
relativize_html_like(content, params)
|
41
41
|
else
|
42
|
-
raise
|
43
|
-
'The relativize_paths needs to know the type of content to ' \
|
42
|
+
raise 'The relativize_paths needs to know the type of content to ' \
|
44
43
|
'process. Pass a :type to the filter call (:html for HTML, ' \
|
45
|
-
':xhtml for XHTML, :xml for XML, or :css for CSS).'
|
44
|
+
':xhtml for XHTML, :xml for XML, or :css for CSS).'
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
@@ -48,7 +48,7 @@ module Nanoc::Helpers
|
|
48
48
|
|
49
49
|
# Check for required attributes
|
50
50
|
if @config[:base_url].nil?
|
51
|
-
raise
|
51
|
+
raise 'The Nanoc::Helpers::XMLSitemap helper requires the site configuration to specify the base URL for the site.'
|
52
52
|
end
|
53
53
|
|
54
54
|
# Build sitemap
|
@@ -10,7 +10,8 @@ module Nanoc::RuleDSL
|
|
10
10
|
|
11
11
|
rule_memory_calculator =
|
12
12
|
Nanoc::RuleDSL::RuleMemoryCalculator.new(
|
13
|
-
rules_collection: rules_collection, site: site
|
13
|
+
rules_collection: rules_collection, site: site,
|
14
|
+
)
|
14
15
|
|
15
16
|
action_provider = new(rules_collection, rule_memory_calculator)
|
16
17
|
|
data/lib/nanoc/rule_dsl/rule.rb
CHANGED
@@ -54,7 +54,8 @@ module Nanoc::RuleDSL
|
|
54
54
|
# @return [void]
|
55
55
|
def apply_to(rep, site:, executor:, view_context:)
|
56
56
|
context = Nanoc::RuleDSL::RuleContext.new(
|
57
|
-
rep: rep, executor: executor, site: site, view_context: view_context
|
57
|
+
rep: rep, executor: executor, site: site, view_context: view_context,
|
58
|
+
)
|
58
59
|
context.instance_exec(matches(rep.item.identifier), &@block)
|
59
60
|
end
|
60
61
|
|
data/lib/nanoc/version.rb
CHANGED
data/nanoc.gemspec
CHANGED
@@ -13,9 +13,9 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.files =
|
15
15
|
Dir['[A-Z]*'] +
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
Dir['doc/yardoc_{templates,handlers}/**/*'] +
|
17
|
+
Dir['{bin,lib,tasks,test}/**/*'] +
|
18
|
+
['nanoc.gemspec']
|
19
19
|
s.executables = ['nanoc']
|
20
20
|
s.require_paths = ['lib']
|
21
21
|
|
data/test/base/test_compiler.rb
CHANGED
@@ -16,7 +16,8 @@ class Nanoc::Int::CompilerTest < Nanoc::TestCase
|
|
16
16
|
checksum_store: Nanoc::Int::ChecksumStore.new(site: site),
|
17
17
|
rule_memory_store: Nanoc::Int::RuleMemoryStore.new,
|
18
18
|
dependency_store: Nanoc::Int::DependencyStore.new(
|
19
|
-
site.items.to_a + site.layouts.to_a
|
19
|
+
site.items.to_a + site.layouts.to_a,
|
20
|
+
),
|
20
21
|
action_provider: action_provider,
|
21
22
|
reps: reps,
|
22
23
|
}
|
@@ -2,7 +2,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
2
2
|
def test_read_etags_with_local_provider
|
3
3
|
if_have 'fog' do
|
4
4
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
5
|
-
'output/', provider: 'local'
|
5
|
+
'output/', provider: 'local'
|
6
|
+
)
|
6
7
|
|
7
8
|
files = [
|
8
9
|
mock('file_a'),
|
@@ -16,7 +17,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
16
17
|
def test_read_etags_with_aws_provider
|
17
18
|
if_have 'fog' do
|
18
19
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
19
|
-
'output/', provider: 'aws'
|
20
|
+
'output/', provider: 'aws'
|
21
|
+
)
|
20
22
|
|
21
23
|
files = [
|
22
24
|
mock('file_a', key: 'key_a', etag: 'etag_a'),
|
@@ -35,7 +37,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
35
37
|
def test_calc_local_etag_with_local_provider
|
36
38
|
if_have 'fog' do
|
37
39
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
38
|
-
'output/', provider: 'local'
|
40
|
+
'output/', provider: 'local'
|
41
|
+
)
|
39
42
|
|
40
43
|
file_path = 'blah.tmp'
|
41
44
|
File.write(file_path, 'hallo')
|
@@ -47,21 +50,24 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
47
50
|
def test_calc_local_etag_with_aws_provider
|
48
51
|
if_have 'fog' do
|
49
52
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
50
|
-
'output/', provider: 'aws'
|
53
|
+
'output/', provider: 'aws'
|
54
|
+
)
|
51
55
|
|
52
56
|
file_path = 'blah.tmp'
|
53
57
|
File.write(file_path, 'hallo')
|
54
58
|
|
55
59
|
assert_equal(
|
56
60
|
'598d4c200461b81522a3328565c25f7c',
|
57
|
-
fog.send(:calc_local_etag, file_path)
|
61
|
+
fog.send(:calc_local_etag, file_path),
|
62
|
+
)
|
58
63
|
end
|
59
64
|
end
|
60
65
|
|
61
66
|
def test_needs_upload_with_missing_remote_etag
|
62
67
|
if_have 'fog' do
|
63
68
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
64
|
-
'output/', provider: 'aws'
|
69
|
+
'output/', provider: 'aws'
|
70
|
+
)
|
65
71
|
|
66
72
|
file_path = 'blah.tmp'
|
67
73
|
File.write(file_path, 'hallo')
|
@@ -76,7 +82,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
76
82
|
def test_needs_upload_with_different_etags
|
77
83
|
if_have 'fog' do
|
78
84
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
79
|
-
'output/', provider: 'aws'
|
85
|
+
'output/', provider: 'aws'
|
86
|
+
)
|
80
87
|
|
81
88
|
file_path = 'blah.tmp'
|
82
89
|
File.write(file_path, 'hallo')
|
@@ -91,7 +98,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
91
98
|
def test_needs_upload_with_identical_etags
|
92
99
|
if_have 'fog' do
|
93
100
|
fog = Nanoc::Extra::Deployers::Fog.new(
|
94
|
-
'output/', provider: 'aws'
|
101
|
+
'output/', provider: 'aws'
|
102
|
+
)
|
95
103
|
|
96
104
|
file_path = 'blah.tmp'
|
97
105
|
File.write(file_path, 'hallo')
|
@@ -3,7 +3,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
|
|
3
3
|
# Create deployer
|
4
4
|
rsync = Nanoc::Extra::Deployers::Rsync.new(
|
5
5
|
'output/',
|
6
|
-
{}
|
6
|
+
{},
|
7
|
+
)
|
7
8
|
|
8
9
|
# Mock run_shell_cmd
|
9
10
|
def rsync.run_shell_cmd(args)
|
@@ -23,7 +24,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
|
|
23
24
|
# Create deployer
|
24
25
|
rsync = Nanoc::Extra::Deployers::Rsync.new(
|
25
26
|
'output/',
|
26
|
-
{ dst: 'asdf/' }
|
27
|
+
{ dst: 'asdf/' },
|
28
|
+
)
|
27
29
|
|
28
30
|
# Mock run_shell_cmd
|
29
31
|
def rsync.run_shell_cmd(args)
|
@@ -43,7 +45,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
|
|
43
45
|
# Create deployer
|
44
46
|
rsync = Nanoc::Extra::Deployers::Rsync.new(
|
45
47
|
'output',
|
46
|
-
{ dst: 'asdf' }
|
48
|
+
{ dst: 'asdf' },
|
49
|
+
)
|
47
50
|
|
48
51
|
# Mock run_shell_cmd
|
49
52
|
def rsync.run_shell_cmd(args)
|
@@ -66,7 +69,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
|
|
66
69
|
rsync = Nanoc::Extra::Deployers::Rsync.new(
|
67
70
|
'output',
|
68
71
|
{ dst: 'asdf' },
|
69
|
-
dry_run: true
|
72
|
+
dry_run: true,
|
73
|
+
)
|
70
74
|
|
71
75
|
# Mock run_shell_cmd
|
72
76
|
def rsync.run_shell_cmd(args)
|
@@ -261,7 +261,8 @@ EOS
|
|
261
261
|
input = '<pre><code class="language-ruby">puts "foo"</code></pre>'
|
262
262
|
filter.setup_and_run(
|
263
263
|
input,
|
264
|
-
colorizers: { ruby: colorizer }
|
264
|
+
colorizers: { ruby: colorizer },
|
265
|
+
)
|
265
266
|
flunk 'expected colorizer to raise if no executable is available'
|
266
267
|
rescue
|
267
268
|
end
|
@@ -5,11 +5,13 @@ class Nanoc::Filters::HandlebarsTest < Nanoc::TestCase
|
|
5
5
|
item = Nanoc::Int::Item.new(
|
6
6
|
'content',
|
7
7
|
{ title: 'Max Payne', protagonist: 'Max Payne', location: 'here' },
|
8
|
-
'/games/max-payne/'
|
8
|
+
'/games/max-payne/',
|
9
|
+
)
|
9
10
|
layout = Nanoc::Int::Layout.new(
|
10
11
|
'layout content',
|
11
12
|
{ name: 'Max Payne' },
|
12
|
-
'/default/'
|
13
|
+
'/default/',
|
14
|
+
)
|
13
15
|
config = { animals: 'cats and dogs' }
|
14
16
|
|
15
17
|
# Create filter
|
@@ -37,7 +39,8 @@ class Nanoc::Filters::HandlebarsTest < Nanoc::TestCase
|
|
37
39
|
item = Nanoc::Int::Item.new(
|
38
40
|
'content',
|
39
41
|
{ title: 'Max Payne', protagonist: 'Max Payne', location: 'here' },
|
40
|
-
'/games/max-payne/'
|
42
|
+
'/games/max-payne/',
|
43
|
+
)
|
41
44
|
|
42
45
|
# Create filter
|
43
46
|
assigns = {
|
@@ -28,7 +28,8 @@ class Nanoc::Filters::MustacheTest < Nanoc::TestCase
|
|
28
28
|
|
29
29
|
# Create filter
|
30
30
|
filter = ::Nanoc::Filters::Mustache.new(
|
31
|
-
{ content: 'No Payne No Gayne', item: item }
|
31
|
+
{ content: 'No Payne No Gayne', item: item },
|
32
|
+
)
|
32
33
|
|
33
34
|
# Run filter
|
34
35
|
result = filter.setup_and_run('Max says: {{yield}}.')
|
@@ -10,16 +10,17 @@ class Nanoc::Filters::RDiscountTest < Nanoc::TestCase
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
13
|
+
# FIXME: Re-enable this test (flaky; quotation marks are not transformed consistently)
|
14
|
+
# def test_with_extensions
|
15
|
+
# if_have 'rdiscount' do
|
16
|
+
# # Create filter
|
17
|
+
# filter = ::Nanoc::Filters::RDiscount.new
|
18
|
+
#
|
19
|
+
# # Run filter
|
20
|
+
# input = "The quotation 'marks' sure make this look sarcastic!"
|
21
|
+
# output_expected = /The quotation ‘marks’ sure make this look sarcastic!/
|
22
|
+
# output_actual = filter.setup_and_run(input, extensions: [:smart])
|
23
|
+
# assert_match(output_expected, output_actual)
|
24
|
+
# end
|
25
|
+
# end
|
25
26
|
end
|
@@ -9,8 +9,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
|
|
9
9
|
Nanoc::Int::Item.new(
|
10
10
|
'content',
|
11
11
|
{},
|
12
|
-
'/foo/bar/baz/'
|
13
|
-
|
12
|
+
'/foo/bar/baz/',
|
13
|
+
),
|
14
|
+
:blah,
|
15
|
+
)
|
14
16
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
15
17
|
end
|
16
18
|
|
@@ -33,8 +35,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
|
|
33
35
|
Nanoc::Int::Item.new(
|
34
36
|
'content',
|
35
37
|
{},
|
36
|
-
'/foo/bar/baz/'
|
37
|
-
|
38
|
+
'/foo/bar/baz/',
|
39
|
+
),
|
40
|
+
:blah,
|
41
|
+
)
|
38
42
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
39
43
|
end
|
40
44
|
|
@@ -57,8 +61,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
|
|
57
61
|
Nanoc::Int::Item.new(
|
58
62
|
'content',
|
59
63
|
{},
|
60
|
-
'/foo/bar/baz/'
|
61
|
-
|
64
|
+
'/foo/bar/baz/',
|
65
|
+
),
|
66
|
+
:blah,
|
67
|
+
)
|
62
68
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
63
69
|
end
|
64
70
|
|
@@ -81,8 +87,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
|
|
81
87
|
Nanoc::Int::Item.new(
|
82
88
|
'content',
|
83
89
|
{},
|
84
|
-
'/foo/bar/baz/'
|
85
|
-
|
90
|
+
'/foo/bar/baz/',
|
91
|
+
),
|
92
|
+
:blah,
|
93
|
+
)
|
86
94
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
87
95
|
end
|
88
96
|
|
@@ -117,8 +125,10 @@ EOS
|
|
117
125
|
Nanoc::Int::Item.new(
|
118
126
|
'content',
|
119
127
|
{},
|
120
|
-
'/foo/bar/baz/'
|
121
|
-
|
128
|
+
'/foo/bar/baz/',
|
129
|
+
),
|
130
|
+
:blah,
|
131
|
+
)
|
122
132
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
123
133
|
end
|
124
134
|
|
@@ -141,8 +151,10 @@ EOS
|
|
141
151
|
Nanoc::Int::Item.new(
|
142
152
|
'content',
|
143
153
|
{},
|
144
|
-
'/foo/bar/baz/'
|
145
|
-
|
154
|
+
'/foo/bar/baz/',
|
155
|
+
),
|
156
|
+
:blah,
|
157
|
+
)
|
146
158
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
147
159
|
end
|
148
160
|
|
@@ -165,8 +177,10 @@ EOS
|
|
165
177
|
Nanoc::Int::Item.new(
|
166
178
|
'content',
|
167
179
|
{},
|
168
|
-
'/foo/bar/baz/'
|
169
|
-
|
180
|
+
'/foo/bar/baz/',
|
181
|
+
),
|
182
|
+
:blah,
|
183
|
+
)
|
170
184
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
171
185
|
end
|
172
186
|
|
@@ -189,8 +203,10 @@ EOS
|
|
189
203
|
Nanoc::Int::Item.new(
|
190
204
|
'content',
|
191
205
|
{},
|
192
|
-
'/foo/bar/baz/'
|
193
|
-
|
206
|
+
'/foo/bar/baz/',
|
207
|
+
),
|
208
|
+
:blah,
|
209
|
+
)
|
194
210
|
@item_rep.paths[:last] = '/woof/meow/'
|
195
211
|
end
|
196
212
|
|
@@ -213,8 +229,10 @@ EOS
|
|
213
229
|
Nanoc::Int::Item.new(
|
214
230
|
'content',
|
215
231
|
{},
|
216
|
-
'/foo/bar/baz/'
|
217
|
-
|
232
|
+
'/foo/bar/baz/',
|
233
|
+
),
|
234
|
+
:blah,
|
235
|
+
)
|
218
236
|
@item_rep.paths[:last] = '/woof/meow/'
|
219
237
|
end
|
220
238
|
|
@@ -237,8 +255,10 @@ EOS
|
|
237
255
|
Nanoc::Int::Item.new(
|
238
256
|
'content',
|
239
257
|
{},
|
240
|
-
'/foo/bar/baz/'
|
241
|
-
|
258
|
+
'/foo/bar/baz/',
|
259
|
+
),
|
260
|
+
:blah,
|
261
|
+
)
|
242
262
|
@item_rep.paths[:last] = '/woof/meow/'
|
243
263
|
end
|
244
264
|
|
@@ -261,8 +281,10 @@ EOS
|
|
261
281
|
Nanoc::Int::Item.new(
|
262
282
|
'content',
|
263
283
|
{},
|
264
|
-
'/foo/bar/baz/'
|
265
|
-
|
284
|
+
'/foo/bar/baz/',
|
285
|
+
),
|
286
|
+
:blah,
|
287
|
+
)
|
266
288
|
@item_rep.paths[:last] = '/woof/meow/'
|
267
289
|
end
|
268
290
|
|
@@ -285,8 +307,10 @@ EOS
|
|
285
307
|
Nanoc::Int::Item.new(
|
286
308
|
'content',
|
287
309
|
{},
|
288
|
-
'/foo/bar/baz/'
|
289
|
-
|
310
|
+
'/foo/bar/baz/',
|
311
|
+
),
|
312
|
+
:blah,
|
313
|
+
)
|
290
314
|
@item_rep.paths[:last] = '/woof/meow/'
|
291
315
|
end
|
292
316
|
|
@@ -309,8 +333,10 @@ EOS
|
|
309
333
|
Nanoc::Int::Item.new(
|
310
334
|
'content',
|
311
335
|
{},
|
312
|
-
'/foo/bar/baz/'
|
313
|
-
|
336
|
+
'/foo/bar/baz/',
|
337
|
+
),
|
338
|
+
:blah,
|
339
|
+
)
|
314
340
|
@item_rep.paths[:last] = '/woof/meow/'
|
315
341
|
end
|
316
342
|
|
@@ -341,8 +367,10 @@ EOS
|
|
341
367
|
Nanoc::Int::Item.new(
|
342
368
|
'content',
|
343
369
|
{},
|
344
|
-
'/foo/bar/baz/'
|
345
|
-
|
370
|
+
'/foo/bar/baz/',
|
371
|
+
),
|
372
|
+
:blah,
|
373
|
+
)
|
346
374
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
347
375
|
end
|
348
376
|
|
@@ -365,8 +393,10 @@ EOS
|
|
365
393
|
Nanoc::Int::Item.new(
|
366
394
|
'content',
|
367
395
|
{},
|
368
|
-
'/foo/bar/baz/'
|
369
|
-
|
396
|
+
'/foo/bar/baz/',
|
397
|
+
),
|
398
|
+
:blah,
|
399
|
+
)
|
370
400
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
371
401
|
end
|
372
402
|
|
@@ -389,8 +419,10 @@ EOS
|
|
389
419
|
Nanoc::Int::Item.new(
|
390
420
|
'content',
|
391
421
|
{},
|
392
|
-
'/foo/bar/baz/'
|
393
|
-
|
422
|
+
'/foo/bar/baz/',
|
423
|
+
),
|
424
|
+
:blah,
|
425
|
+
)
|
394
426
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
395
427
|
end
|
396
428
|
|
@@ -413,8 +445,10 @@ EOS
|
|
413
445
|
Nanoc::Int::Item.new(
|
414
446
|
'content',
|
415
447
|
{},
|
416
|
-
'/foo/bar/baz/'
|
417
|
-
|
448
|
+
'/foo/bar/baz/',
|
449
|
+
),
|
450
|
+
:blah,
|
451
|
+
)
|
418
452
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
419
453
|
end
|
420
454
|
|
@@ -440,8 +474,10 @@ EOS
|
|
440
474
|
Nanoc::Int::Item.new(
|
441
475
|
'content',
|
442
476
|
{},
|
443
|
-
'/foo/bar/baz/'
|
444
|
-
|
477
|
+
'/foo/bar/baz/',
|
478
|
+
),
|
479
|
+
:blah,
|
480
|
+
)
|
445
481
|
@item_rep.paths[:last] = '/woof/meow/'
|
446
482
|
end
|
447
483
|
|
@@ -464,8 +500,10 @@ EOS
|
|
464
500
|
Nanoc::Int::Item.new(
|
465
501
|
'content',
|
466
502
|
{},
|
467
|
-
'/foo/bar/baz/'
|
468
|
-
|
503
|
+
'/foo/bar/baz/',
|
504
|
+
),
|
505
|
+
:blah,
|
506
|
+
)
|
469
507
|
@item_rep.paths[:last] = '/woof/meow/'
|
470
508
|
end
|
471
509
|
|
@@ -489,8 +527,10 @@ EOS
|
|
489
527
|
Nanoc::Int::Item.new(
|
490
528
|
'content',
|
491
529
|
{},
|
492
|
-
'/foo/bar/baz/'
|
493
|
-
|
530
|
+
'/foo/bar/baz/',
|
531
|
+
),
|
532
|
+
:blah,
|
533
|
+
)
|
494
534
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
495
535
|
end
|
496
536
|
|
@@ -520,8 +560,10 @@ XML
|
|
520
560
|
Nanoc::Int::Item.new(
|
521
561
|
'content',
|
522
562
|
{},
|
523
|
-
'/foo/bar/baz/'
|
524
|
-
|
563
|
+
'/foo/bar/baz/',
|
564
|
+
),
|
565
|
+
:blah,
|
566
|
+
)
|
525
567
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
526
568
|
end
|
527
569
|
|
@@ -550,8 +592,10 @@ XML
|
|
550
592
|
Nanoc::Int::Item.new(
|
551
593
|
'content',
|
552
594
|
{},
|
553
|
-
'/foo/bar/baz/'
|
554
|
-
|
595
|
+
'/foo/bar/baz/',
|
596
|
+
),
|
597
|
+
:blah,
|
598
|
+
)
|
555
599
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
556
600
|
end
|
557
601
|
|
@@ -585,8 +629,10 @@ XML
|
|
585
629
|
Nanoc::Int::Item.new(
|
586
630
|
'content',
|
587
631
|
{},
|
588
|
-
'/foo/bar/baz/'
|
589
|
-
|
632
|
+
'/foo/bar/baz/',
|
633
|
+
),
|
634
|
+
:blah,
|
635
|
+
)
|
590
636
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
591
637
|
end
|
592
638
|
|
@@ -625,8 +671,10 @@ XML
|
|
625
671
|
Nanoc::Int::Item.new(
|
626
672
|
'content',
|
627
673
|
{},
|
628
|
-
'/foo/bar/baz/'
|
629
|
-
|
674
|
+
'/foo/bar/baz/',
|
675
|
+
),
|
676
|
+
:blah,
|
677
|
+
)
|
630
678
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
631
679
|
end
|
632
680
|
|
@@ -658,8 +706,10 @@ XML
|
|
658
706
|
Nanoc::Int::Item.new(
|
659
707
|
'content',
|
660
708
|
{},
|
661
|
-
'/foo/baz/'
|
662
|
-
|
709
|
+
'/foo/baz/',
|
710
|
+
),
|
711
|
+
:blah,
|
712
|
+
)
|
663
713
|
@item_rep.paths[:last] = '/foo/baz/'
|
664
714
|
end
|
665
715
|
|
@@ -690,8 +740,10 @@ XML
|
|
690
740
|
Nanoc::Int::Item.new(
|
691
741
|
'content',
|
692
742
|
{},
|
693
|
-
'/foo/baz/'
|
694
|
-
|
743
|
+
'/foo/baz/',
|
744
|
+
),
|
745
|
+
:blah,
|
746
|
+
)
|
695
747
|
@item_rep.paths[:last] = '/foo/baz/'
|
696
748
|
end
|
697
749
|
|
@@ -719,8 +771,10 @@ XML
|
|
719
771
|
Nanoc::Int::Item.new(
|
720
772
|
'content',
|
721
773
|
{},
|
722
|
-
'/foo/bar/baz/'
|
723
|
-
|
774
|
+
'/foo/bar/baz/',
|
775
|
+
),
|
776
|
+
:blah,
|
777
|
+
)
|
724
778
|
@item_rep.paths[:last] = '/foo/bar/baz/'
|
725
779
|
end
|
726
780
|
|
@@ -4,10 +4,12 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
|
|
4
4
|
|
5
5
|
rule_memory_calculator =
|
6
6
|
Nanoc::RuleDSL::RuleMemoryCalculator.new(
|
7
|
-
rules_collection: rules_collection, site: site
|
7
|
+
rules_collection: rules_collection, site: site,
|
8
|
+
)
|
8
9
|
|
9
10
|
action_provider = Nanoc::RuleDSL::ActionProvider.new(
|
10
|
-
rules_collection, rule_memory_calculator
|
11
|
+
rules_collection, rule_memory_calculator
|
12
|
+
)
|
11
13
|
|
12
14
|
Nanoc::RuleDSL::RulesLoader.new(site.config, rules_collection).load
|
13
15
|
|
@@ -21,12 +23,14 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
|
|
21
23
|
# Create a bonus rules file
|
22
24
|
File.write(
|
23
25
|
'more_rules.rb',
|
24
|
-
"preprocess { @items['/index.*'][:preprocessed] = true }"
|
26
|
+
"preprocess { @items['/index.*'][:preprocessed] = true }",
|
27
|
+
)
|
25
28
|
|
26
29
|
# Adjust normal rules file
|
27
30
|
File.write(
|
28
31
|
'Rules',
|
29
|
-
"include_rules 'more_rules'\n\npreprocess {}\n\n" + File.read('Rules')
|
32
|
+
"include_rules 'more_rules'\n\npreprocess {}\n\n" + File.read('Rules'),
|
33
|
+
)
|
30
34
|
|
31
35
|
# Create site and compiler
|
32
36
|
site = Nanoc::Int::SiteLoader.new.new_from_cwd
|
@@ -50,12 +54,14 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
|
|
50
54
|
# Create a bonus rules file
|
51
55
|
File.write(
|
52
56
|
'more_rules.rb',
|
53
|
-
'postprocess {}'
|
57
|
+
'postprocess {}',
|
58
|
+
)
|
54
59
|
|
55
60
|
# Adjust normal rules file
|
56
61
|
File.write(
|
57
62
|
'Rules',
|
58
|
-
"include_rules 'more_rules'\n\npostprocess {}\n\n" + File.read('Rules')
|
63
|
+
"include_rules 'more_rules'\n\npostprocess {}\n\n" + File.read('Rules'),
|
64
|
+
)
|
59
65
|
|
60
66
|
# Create site and compiler
|
61
67
|
site = Nanoc::Int::SiteLoader.new.new_from_cwd
|
@@ -80,14 +80,16 @@ EOS
|
|
80
80
|
# Create a bonus rules file
|
81
81
|
File.write(
|
82
82
|
'more_rules.rb',
|
83
|
-
"passthrough '/index.*'"
|
83
|
+
"passthrough '/index.*'",
|
84
|
+
)
|
84
85
|
|
85
86
|
# Adjust normal rules file
|
86
87
|
File.write(
|
87
88
|
'Rules',
|
88
89
|
"include_rules 'more_rules'\n\n" \
|
89
90
|
"route '/**/*' do ; nil ; end\n\n" \
|
90
|
-
"compile '/**/*' do ; end\n"
|
91
|
+
"compile '/**/*' do ; end\n",
|
92
|
+
)
|
91
93
|
|
92
94
|
# Create items
|
93
95
|
File.write('content/index.html', 'hello!')
|
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.2.
|
4
|
+
version: 4.2.0
|
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-04
|
11
|
+
date: 2016-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cri
|
@@ -367,12 +367,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
367
367
|
version: 2.1.0
|
368
368
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
369
369
|
requirements:
|
370
|
-
- - "
|
370
|
+
- - ">="
|
371
371
|
- !ruby/object:Gem::Version
|
372
|
-
version:
|
372
|
+
version: '0'
|
373
373
|
requirements: []
|
374
374
|
rubyforge_project:
|
375
|
-
rubygems_version: 2.6.
|
375
|
+
rubygems_version: 2.6.4
|
376
376
|
signing_key:
|
377
377
|
specification_version: 4
|
378
378
|
summary: A static-site generator with a focus on flexibility.
|