nanoc 4.3.2 → 4.3.3
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 +23 -25
- data/NEWS.md +12 -1
- data/lib/nanoc/base/compilation/compiler.rb +15 -0
- data/lib/nanoc/base/feature.rb +12 -4
- data/lib/nanoc/base/services/notification_center.rb +7 -0
- data/lib/nanoc/cli.rb +7 -1
- data/lib/nanoc/cli/commands/compile.rb +1 -16
- data/lib/nanoc/cli/commands/create-site.rb +1 -1
- data/lib/nanoc/cli/commands/deploy.rb +13 -3
- data/lib/nanoc/version.rb +1 -1
- data/test/filters/test_relativize_paths.rb +4 -4
- 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: 67e0bd2577c8efa7e807709b09a5b4df6e95024b
|
|
4
|
+
data.tar.gz: 4adc8f82bbc6d85e2a77b06a3792aac2b0f05d71
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 17f1e158368ac1f9f6b0b1970f0d0cc5cdf616160277fffba13d2e0f9069ffd9db60a80a64cdf144912043c52e71086c57da71540650b9005286fab59f8844f4
|
|
7
|
+
data.tar.gz: d26cec92f468874b2d14133b5d5b7e360d591443a559590b0b5bd85bb81f3154d981d80dea5c3f7f76d4071dcf8b8798cd1fbb496a7aba0128bf960903682b6d
|
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.3)
|
|
5
5
|
cri (~> 2.3)
|
|
6
6
|
hamster (~> 3.0)
|
|
7
7
|
ref (~> 2.0)
|
|
@@ -9,7 +9,7 @@ PATH
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
CFPropertyList (2.3.
|
|
12
|
+
CFPropertyList (2.3.3)
|
|
13
13
|
RedCloth (4.3.2)
|
|
14
14
|
addressable (2.4.0)
|
|
15
15
|
adsf (1.2.1)
|
|
@@ -17,7 +17,7 @@ GEM
|
|
|
17
17
|
ast (2.3.0)
|
|
18
18
|
bluecloth (2.2.0)
|
|
19
19
|
builder (3.2.2)
|
|
20
|
-
chunky_png (1.3.
|
|
20
|
+
chunky_png (1.3.7)
|
|
21
21
|
coderay (1.1.1)
|
|
22
22
|
coffee-script (2.4.1)
|
|
23
23
|
coffee-script-source
|
|
@@ -94,7 +94,7 @@ GEM
|
|
|
94
94
|
fog-atmos (0.1.0)
|
|
95
95
|
fog-core
|
|
96
96
|
fog-xml
|
|
97
|
-
fog-aws (0.
|
|
97
|
+
fog-aws (0.12.0)
|
|
98
98
|
fog-core (~> 1.38)
|
|
99
99
|
fog-json (~> 1.0)
|
|
100
100
|
fog-xml (~> 0.1)
|
|
@@ -128,7 +128,7 @@ GEM
|
|
|
128
128
|
multi_json (~> 1.10)
|
|
129
129
|
fog-local (0.3.0)
|
|
130
130
|
fog-core (~> 1.27)
|
|
131
|
-
fog-openstack (0.1.
|
|
131
|
+
fog-openstack (0.1.12)
|
|
132
132
|
fog-core (>= 1.40)
|
|
133
133
|
fog-json (>= 1.0)
|
|
134
134
|
ipaddress (>= 0.8)
|
|
@@ -136,10 +136,9 @@ GEM
|
|
|
136
136
|
fog-core (~> 1.27)
|
|
137
137
|
fog-json (~> 1.0)
|
|
138
138
|
fog-xml (~> 0.1)
|
|
139
|
-
fog-profitbricks (
|
|
140
|
-
fog-core
|
|
141
|
-
fog-
|
|
142
|
-
nokogiri
|
|
139
|
+
fog-profitbricks (2.0.1)
|
|
140
|
+
fog-core (~> 1.42)
|
|
141
|
+
fog-json (~> 1.0)
|
|
143
142
|
fog-rackspace (0.1.1)
|
|
144
143
|
fog-core (>= 1.35)
|
|
145
144
|
fog-json (>= 1.0)
|
|
@@ -159,7 +158,7 @@ GEM
|
|
|
159
158
|
fog-serverlove (0.1.2)
|
|
160
159
|
fog-core
|
|
161
160
|
fog-json
|
|
162
|
-
fog-softlayer (1.1.
|
|
161
|
+
fog-softlayer (1.1.4)
|
|
163
162
|
fog-core
|
|
164
163
|
fog-json
|
|
165
164
|
fog-storm_on_demand (0.1.1)
|
|
@@ -174,9 +173,9 @@ GEM
|
|
|
174
173
|
fog-voxel (0.1.0)
|
|
175
174
|
fog-core
|
|
176
175
|
fog-xml
|
|
177
|
-
fog-vsphere (1.
|
|
176
|
+
fog-vsphere (1.2.0)
|
|
178
177
|
fog-core
|
|
179
|
-
rbvmomi (~> 1.8)
|
|
178
|
+
rbvmomi (~> 1.8.0)
|
|
180
179
|
fog-xenserver (0.2.3)
|
|
181
180
|
fog-core
|
|
182
181
|
fog-xml
|
|
@@ -229,7 +228,7 @@ GEM
|
|
|
229
228
|
mime-types-data (~> 3.2015)
|
|
230
229
|
mime-types-data (3.2016.0521)
|
|
231
230
|
mini_portile2 (2.1.0)
|
|
232
|
-
minitest (5.9.
|
|
231
|
+
minitest (5.9.1)
|
|
233
232
|
mocha (1.1.0)
|
|
234
233
|
metaclass (~> 0.0.1)
|
|
235
234
|
multi_json (1.12.1)
|
|
@@ -242,7 +241,7 @@ GEM
|
|
|
242
241
|
nenv (~> 0.1)
|
|
243
242
|
shellany (~> 0.0)
|
|
244
243
|
pandoc-ruby (2.0.1)
|
|
245
|
-
parser (2.3.1.
|
|
244
|
+
parser (2.3.1.4)
|
|
246
245
|
ast (~> 2.2)
|
|
247
246
|
pkg-config (1.1.7)
|
|
248
247
|
posix-spawn (0.3.11)
|
|
@@ -257,25 +256,24 @@ GEM
|
|
|
257
256
|
rack (2.0.1)
|
|
258
257
|
rainbow (2.1.0)
|
|
259
258
|
rainpress (1.0)
|
|
260
|
-
rake (11.
|
|
259
|
+
rake (11.3.0)
|
|
261
260
|
rb-fsevent (0.9.7)
|
|
262
261
|
rb-inotify (0.9.7)
|
|
263
262
|
ffi (>= 0.5.0)
|
|
264
|
-
rbvmomi (1.
|
|
265
|
-
builder
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
trollop (~> 2.1)
|
|
263
|
+
rbvmomi (1.8.2)
|
|
264
|
+
builder
|
|
265
|
+
nokogiri (>= 1.4.1)
|
|
266
|
+
trollop
|
|
269
267
|
rdiscount (2.2.0.1)
|
|
270
268
|
rdoc (4.2.1)
|
|
271
269
|
redcarpet (3.3.4)
|
|
272
270
|
ref (2.0.0)
|
|
273
|
-
rouge (2.0.
|
|
271
|
+
rouge (2.0.6)
|
|
274
272
|
rspec (3.5.0)
|
|
275
273
|
rspec-core (~> 3.5.0)
|
|
276
274
|
rspec-expectations (~> 3.5.0)
|
|
277
275
|
rspec-mocks (~> 3.5.0)
|
|
278
|
-
rspec-core (3.5.
|
|
276
|
+
rspec-core (3.5.3)
|
|
279
277
|
rspec-support (~> 3.5.0)
|
|
280
278
|
rspec-expectations (3.5.0)
|
|
281
279
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
@@ -284,7 +282,7 @@ GEM
|
|
|
284
282
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
285
283
|
rspec-support (~> 3.5.0)
|
|
286
284
|
rspec-support (3.5.0)
|
|
287
|
-
rubocop (0.
|
|
285
|
+
rubocop (0.43.0)
|
|
288
286
|
parser (>= 2.3.1.1, < 3.0)
|
|
289
287
|
powerpack (~> 0.1)
|
|
290
288
|
rainbow (>= 1.99.1, < 3.0)
|
|
@@ -319,7 +317,7 @@ GEM
|
|
|
319
317
|
rubypants
|
|
320
318
|
uglifier (3.0.2)
|
|
321
319
|
execjs (>= 0.3.0, < 3)
|
|
322
|
-
unicode-display_width (1.1.
|
|
320
|
+
unicode-display_width (1.1.1)
|
|
323
321
|
vcr (3.0.3)
|
|
324
322
|
w3c_validators (1.2)
|
|
325
323
|
json
|
|
@@ -391,4 +389,4 @@ DEPENDENCIES
|
|
|
391
389
|
yuicompressor
|
|
392
390
|
|
|
393
391
|
BUNDLED WITH
|
|
394
|
-
1.
|
|
392
|
+
1.13.1
|
data/NEWS.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Nanoc news
|
|
2
2
|
|
|
3
|
+
## 4.3.3 (2016-09-26)
|
|
4
|
+
|
|
5
|
+
Fixes:
|
|
6
|
+
|
|
7
|
+
* Fixed issue causing `Bundler::GemfileNotFound` to be thrown (#936) [Lorin Werthen]
|
|
8
|
+
* Fixed issue when replacing a directory with a file or vice versa (#942, #946)
|
|
9
|
+
|
|
10
|
+
Enhancements:
|
|
11
|
+
|
|
12
|
+
* Modified the `compile` command to allow specifying the deploy target as argument (#945)
|
|
13
|
+
|
|
3
14
|
## 4.3.2 (2016-08-23)
|
|
4
15
|
|
|
5
16
|
Identical to 4.3.1, but with corrected release notes.
|
|
@@ -25,7 +36,7 @@ Fixes:
|
|
|
25
36
|
|
|
26
37
|
* Fixed `UnmetDependency` errors in postprocessor (#913, #917)
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
Enhancements:
|
|
29
40
|
|
|
30
41
|
* Sped up Nanoc by not releasing cache memory as quickly (#902)
|
|
31
42
|
* Let `internal_links` check also verify resource paths, such as scripts and images (#912) [Lorin Werthen]
|
|
@@ -74,6 +74,7 @@ module Nanoc::Int
|
|
|
74
74
|
def run_all
|
|
75
75
|
@action_provider.preprocess(@site)
|
|
76
76
|
build_reps
|
|
77
|
+
prune
|
|
77
78
|
run
|
|
78
79
|
@action_provider.postprocess(@site, @reps)
|
|
79
80
|
end
|
|
@@ -180,6 +181,20 @@ module Nanoc::Int
|
|
|
180
181
|
|
|
181
182
|
private
|
|
182
183
|
|
|
184
|
+
def prune
|
|
185
|
+
if site.config[:prune][:auto_prune]
|
|
186
|
+
Nanoc::Extra::Pruner.new(site, exclude: prune_config_exclude).run
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def prune_config
|
|
191
|
+
site.config[:prune] || {}
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
def prune_config_exclude
|
|
195
|
+
prune_config[:exclude] || {}
|
|
196
|
+
end
|
|
197
|
+
|
|
183
198
|
def compile_reps
|
|
184
199
|
# Listen to processing start/stop
|
|
185
200
|
Nanoc::Int::NotificationCenter.on(:processing_started, self) { |obj| @stack.push(obj) }
|
data/lib/nanoc/base/feature.rb
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
module Nanoc
|
|
2
2
|
# @api private
|
|
3
3
|
module Feature
|
|
4
|
-
|
|
4
|
+
PROFILER = 'profiler'.freeze
|
|
5
5
|
|
|
6
|
-
def self.
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
def self.enabled_features
|
|
7
|
+
@enabled_features ||= Set.new(ENV.fetch('NANOC_FEATURES', '').split(','))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.enabled?(feature_name)
|
|
11
|
+
enabled_features.include?(feature_name) ||
|
|
12
|
+
enabled_features.include?('all')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.reset_caches
|
|
16
|
+
@enabled_features = nil
|
|
9
17
|
end
|
|
10
18
|
end
|
|
11
19
|
end
|
data/lib/nanoc/cli.rb
CHANGED
|
@@ -106,7 +106,13 @@ module Nanoc::CLI
|
|
|
106
106
|
|
|
107
107
|
if defined?(Bundler)
|
|
108
108
|
# Discover external commands through Bundler
|
|
109
|
-
|
|
109
|
+
begin
|
|
110
|
+
Bundler.require(:nanoc)
|
|
111
|
+
rescue Bundler::GemfileNotFound
|
|
112
|
+
# When running nanoc with Bundler being defined but
|
|
113
|
+
# no gemfile being present (rubygems automatically loads
|
|
114
|
+
# Bundler when executing from command line), don't crash.
|
|
115
|
+
end
|
|
110
116
|
end
|
|
111
117
|
end
|
|
112
118
|
|
|
@@ -14,7 +14,7 @@ IDENTICAL - The item was deemed outdated and has been recompiled, but the compil
|
|
|
14
14
|
SKIP - The item was deemed not outdated and was therefore not recompiled
|
|
15
15
|
|
|
16
16
|
EOS
|
|
17
|
-
flag nil, :profile, 'profile compilation' if Nanoc::Feature.enabled?(
|
|
17
|
+
flag nil, :profile, 'profile compilation' if Nanoc::Feature.enabled?(Nanoc::Feature::PROFILER)
|
|
18
18
|
|
|
19
19
|
module Nanoc::CLI::Commands
|
|
20
20
|
class Compile < ::Nanoc::CLI::CommandRunner
|
|
@@ -404,7 +404,6 @@ module Nanoc::CLI::Commands
|
|
|
404
404
|
puts 'Compiling site…'
|
|
405
405
|
run_listeners_while do
|
|
406
406
|
site.compile
|
|
407
|
-
prune
|
|
408
407
|
end
|
|
409
408
|
|
|
410
409
|
time_after = Time.now
|
|
@@ -414,12 +413,6 @@ module Nanoc::CLI::Commands
|
|
|
414
413
|
|
|
415
414
|
protected
|
|
416
415
|
|
|
417
|
-
def prune
|
|
418
|
-
if site.config[:prune][:auto_prune]
|
|
419
|
-
Nanoc::Extra::Pruner.new(site, exclude: prune_config_exclude).run
|
|
420
|
-
end
|
|
421
|
-
end
|
|
422
|
-
|
|
423
416
|
def default_listener_classes
|
|
424
417
|
[
|
|
425
418
|
Nanoc::CLI::Commands::Compile::DiffGenerator,
|
|
@@ -458,14 +451,6 @@ module Nanoc::CLI::Commands
|
|
|
458
451
|
def reps
|
|
459
452
|
site.compiler.reps
|
|
460
453
|
end
|
|
461
|
-
|
|
462
|
-
def prune_config
|
|
463
|
-
site.config[:prune] || {}
|
|
464
|
-
end
|
|
465
|
-
|
|
466
|
-
def prune_config_exclude
|
|
467
|
-
prune_config[:exclude] || {}
|
|
468
|
-
end
|
|
469
454
|
end
|
|
470
455
|
end
|
|
471
456
|
|
|
@@ -2,7 +2,7 @@ usage 'create-site [options] path'
|
|
|
2
2
|
aliases :create_site, :cs
|
|
3
3
|
summary 'create a site'
|
|
4
4
|
description 'Create a new site at the given path. The site will use the `filesystem` data source.'
|
|
5
|
-
flag nil, :force, '
|
|
5
|
+
flag nil, :force, 'force creation of new site'
|
|
6
6
|
|
|
7
7
|
module Nanoc::CLI::Commands
|
|
8
8
|
class CreateSite < ::Nanoc::CLI::CommandRunner
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
usage 'deploy [options]'
|
|
1
|
+
usage 'deploy [target] [options]'
|
|
2
2
|
summary 'deploy the compiled site'
|
|
3
3
|
description "
|
|
4
4
|
Deploys the compiled site. The compiled site contents in the output directory will be uploaded to the destination, which is specified using the `--target` option.
|
|
@@ -60,8 +60,18 @@ module Nanoc::CLI::Commands
|
|
|
60
60
|
raise Nanoc::Int::Errors::GenericTrivial, 'The site has no deployment configurations.'
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
if arguments.length > 1
|
|
64
|
+
raise Nanoc::Int::Errors::GenericTrivial, "usage: #{command.usage}"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
target_from_arguments = arguments[0]
|
|
68
|
+
target_from_options = options.fetch(:target, nil)
|
|
69
|
+
if target_from_arguments && target_from_options
|
|
70
|
+
raise Nanoc::Int::Errors::GenericTrivial, 'Only one deployment target can be specified on the command line.'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
target = target_from_arguments || target_from_options || :default
|
|
74
|
+
deploy_configs.fetch(target.to_sym) do
|
|
65
75
|
raise Nanoc::Int::Errors::GenericTrivial, "The site has no deployment configuration named `#{target}`."
|
|
66
76
|
end
|
|
67
77
|
end
|
data/lib/nanoc/version.rb
CHANGED
|
@@ -106,13 +106,13 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
|
|
|
106
106
|
</body>
|
|
107
107
|
</html>
|
|
108
108
|
EOS
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
expected0 = %r{<a href="\.\./\.\.">foo</a>}
|
|
110
|
+
expected1 = %r{\A\s*<!DOCTYPE html\s*>\s*<html>\s*<head>(.|\s)*<title>Hello</title>\s*</head>\s*<body>\s*<a href="../..">foo</a>\s*</body>\s*</html>\s*\Z}m
|
|
111
111
|
|
|
112
112
|
# Test
|
|
113
113
|
actual_content = filter.setup_and_run(raw_content, type: :html)
|
|
114
|
-
assert_match(
|
|
115
|
-
assert_match(
|
|
114
|
+
assert_match(expected0, actual_content)
|
|
115
|
+
assert_match(expected1, actual_content)
|
|
116
116
|
end
|
|
117
117
|
|
|
118
118
|
def test_filter_html_multiple
|
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.3
|
|
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-
|
|
11
|
+
date: 2016-09-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cri
|