nanoc 3.5.0 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/Gemfile.lock +20 -12
- data/NEWS.md +23 -0
- data/README.md +6 -3
- data/doc/yardoc_templates/default/layout/html/footer.erb +16 -7
- data/lib/nanoc.rb +1 -1
- data/lib/nanoc/base.rb +1 -0
- data/lib/nanoc/base/compilation/compiler_dsl.rb +31 -0
- data/lib/nanoc/base/compilation/filter.rb +34 -0
- data/lib/nanoc/base/result_data/item_rep.rb +3 -3
- data/lib/nanoc/base/source_data/code_snippet.rb +1 -1
- data/lib/nanoc/base/source_data/data_source.rb +12 -0
- data/lib/nanoc/base/source_data/item.rb +1 -1
- data/lib/nanoc/base/source_data/item_array.rb +62 -0
- data/lib/nanoc/base/source_data/layout.rb +1 -1
- data/lib/nanoc/base/source_data/site.rb +24 -3
- data/lib/nanoc/cli/cleaning_stream.rb +10 -0
- data/lib/nanoc/cli/command_runner.rb +25 -12
- data/lib/nanoc/cli/commands/autocompile.rb +5 -3
- data/lib/nanoc/cli/commands/check.rb +9 -1
- data/lib/nanoc/cli/commands/compile.rb +1 -1
- data/lib/nanoc/cli/commands/create-site.rb +5 -5
- data/lib/nanoc/cli/commands/prune.rb +1 -1
- data/lib/nanoc/cli/commands/shell.rb +37 -0
- data/lib/nanoc/cli/commands/show-data.rb +1 -1
- data/lib/nanoc/cli/commands/sync.rb +34 -0
- data/lib/nanoc/cli/error_handler.rb +11 -2
- data/lib/nanoc/extra/checking/checks/stale.rb +10 -2
- data/lib/nanoc/extra/pruner.rb +14 -11
- data/lib/nanoc/filters/asciidoc.rb +2 -2
- data/lib/nanoc/filters/bluecloth.rb +2 -2
- data/lib/nanoc/filters/coderay.rb +2 -2
- data/lib/nanoc/filters/coffeescript.rb +2 -2
- data/lib/nanoc/filters/colorize_syntax.rb +2 -4
- data/lib/nanoc/filters/erb.rb +2 -2
- data/lib/nanoc/filters/erubis.rb +2 -2
- data/lib/nanoc/filters/haml.rb +2 -2
- data/lib/nanoc/filters/handlebars.rb +2 -2
- data/lib/nanoc/filters/kramdown.rb +2 -2
- data/lib/nanoc/filters/less.rb +2 -2
- data/lib/nanoc/filters/markaby.rb +2 -2
- data/lib/nanoc/filters/maruku.rb +2 -2
- data/lib/nanoc/filters/mustache.rb +2 -2
- data/lib/nanoc/filters/pandoc.rb +2 -2
- data/lib/nanoc/filters/rainpress.rb +2 -2
- data/lib/nanoc/filters/rdiscount.rb +2 -2
- data/lib/nanoc/filters/rdoc.rb +3 -17
- data/lib/nanoc/filters/redcarpet.rb +7 -3
- data/lib/nanoc/filters/redcloth.rb +2 -2
- data/lib/nanoc/filters/rubypants.rb +2 -2
- data/lib/nanoc/filters/sass.rb +2 -3
- data/lib/nanoc/filters/slim.rb +2 -2
- data/lib/nanoc/filters/typogruby.rb +2 -2
- data/lib/nanoc/filters/uglify_js.rb +2 -2
- data/lib/nanoc/filters/xsl.rb +2 -1
- data/lib/nanoc/filters/yui_compressor.rb +2 -2
- data/lib/nanoc/helpers/blogging.rb +1 -1
- data/lib/nanoc/helpers/filtering.rb +1 -1
- data/lib/nanoc/helpers/rendering.rb +1 -1
- data/nanoc.gemspec +2 -2
- data/test/base/core_ext/array_spec.rb +4 -12
- data/test/base/core_ext/hash_spec.rb +4 -12
- data/test/base/test_compiler_dsl.rb +63 -0
- data/test/base/test_item.rb +3 -18
- data/test/base/test_item_array.rb +336 -0
- data/test/base/test_item_rep.rb +2 -12
- data/test/base/test_layout.rb +1 -6
- data/test/base/test_outdatedness_checker.rb +1 -1
- data/test/base/test_site.rb +9 -3
- data/test/cli/commands/test_check.rb +22 -0
- data/test/cli/commands/test_compile.rb +2 -2
- data/test/cli/commands/test_deploy.rb +6 -6
- data/test/cli/commands/test_prune.rb +23 -4
- data/test/cli/commands/test_sync.rb +31 -0
- data/test/cli/test_error_handler.rb +16 -11
- data/test/extra/checking/checks/test_stale.rb +24 -1
- data/test/extra/test_auto_compiler.rb +4 -4
- data/test/filters/test_asciidoc.rb +1 -1
- data/test/filters/test_bluecloth.rb +1 -1
- data/test/filters/test_coderay.rb +3 -3
- data/test/filters/test_coffeescript.rb +1 -1
- data/test/filters/test_colorize_syntax.rb +20 -20
- data/test/filters/test_erb.rb +10 -10
- data/test/filters/test_erubis.rb +6 -6
- data/test/filters/test_haml.rb +10 -10
- data/test/filters/test_handlebars.rb +3 -3
- data/test/filters/test_kramdown.rb +1 -1
- data/test/filters/test_less.rb +4 -4
- data/test/filters/test_markaby.rb +1 -1
- data/test/filters/test_maruku.rb +1 -1
- data/test/filters/test_mustache.rb +2 -2
- data/test/filters/test_pandoc.rb +1 -1
- data/test/filters/test_rainpress.rb +2 -2
- data/test/filters/test_rdiscount.rb +2 -2
- data/test/filters/test_rdoc.rb +1 -1
- data/test/filters/test_redcarpet.rb +21 -6
- data/test/filters/test_redcloth.rb +3 -3
- data/test/filters/test_relativize_paths.rb +27 -27
- data/test/filters/test_rubypants.rb +1 -1
- data/test/filters/test_sass.rb +8 -8
- data/test/filters/test_slim.rb +4 -4
- data/test/filters/test_typogruby.rb +1 -1
- data/test/filters/test_uglify_js.rb +2 -2
- data/test/filters/test_xsl.rb +2 -2
- data/test/filters/test_yui_compressor.rb +3 -3
- data/test/helper.rb +6 -1
- metadata +12 -6
@@ -10,7 +10,7 @@ class Nanoc::Filters::RubyPantsTest < MiniTest::Unit::TestCase
|
|
10
10
|
filter = ::Nanoc::Filters::RubyPants.new
|
11
11
|
|
12
12
|
# Run filter
|
13
|
-
result = filter.
|
13
|
+
result = filter.setup_and_run("Wait---what?")
|
14
14
|
assert_equal("Wait—what?", result)
|
15
15
|
end
|
16
16
|
end
|
data/test/filters/test_sass.rb
CHANGED
@@ -10,7 +10,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
10
10
|
filter = create_filter({ :foo => 'bar' })
|
11
11
|
|
12
12
|
# Run filter
|
13
|
-
result = filter.
|
13
|
+
result = filter.setup_and_run(".foo #bar\n color: #f00")
|
14
14
|
assert_match(/.foo\s+#bar\s*\{\s*color:\s+(red|#f00);?\s*\}/, result)
|
15
15
|
end
|
16
16
|
end
|
@@ -21,11 +21,11 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
21
21
|
filter = create_filter({ :foo => 'bar' })
|
22
22
|
|
23
23
|
# Check with compact
|
24
|
-
result = filter.
|
24
|
+
result = filter.setup_and_run(".foo #bar\n color: #f00", :style => 'compact')
|
25
25
|
assert_match(/^\.foo #bar[\s]*\{[\s]*color:\s*(red|#f00);?[\s]*\}/m, result)
|
26
26
|
|
27
27
|
# Check with compressed
|
28
|
-
result = filter.
|
28
|
+
result = filter.setup_and_run(".foo #bar\n color: #f00", :style => 'compressed')
|
29
29
|
assert_match(/^\.foo #bar[\s]*\{[\s]*color:\s*(red|#f00);?[\s]*\}/m, result)
|
30
30
|
end
|
31
31
|
end
|
@@ -38,7 +38,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
38
38
|
# Run filter
|
39
39
|
raised = false
|
40
40
|
begin
|
41
|
-
filter.
|
41
|
+
filter.setup_and_run('$*#&!@($')
|
42
42
|
rescue Sass::SyntaxError => e
|
43
43
|
assert_match ':1', e.backtrace[0]
|
44
44
|
raised = true
|
@@ -56,7 +56,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
56
56
|
File.open('moo.sass', 'w') { |io| io.write "body\n color: red" }
|
57
57
|
|
58
58
|
# Run filter
|
59
|
-
filter.
|
59
|
+
filter.setup_and_run('@import moo')
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
@@ -71,7 +71,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
71
71
|
File.open('subdir/relative.sass', 'w') { |io| io.write "body\n color: red" }
|
72
72
|
|
73
73
|
# Run filter
|
74
|
-
filter.
|
74
|
+
filter.setup_and_run('@import moo')
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -84,7 +84,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
84
84
|
File.open('moo.sass', 'w') { |io| io.write "body\n color: red" }
|
85
85
|
|
86
86
|
# Run filter
|
87
|
-
filter.
|
87
|
+
filter.setup_and_run('@import moo')
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
@@ -94,7 +94,7 @@ class Nanoc::Filters::SassTest < MiniTest::Unit::TestCase
|
|
94
94
|
filter = create_filter
|
95
95
|
|
96
96
|
# Run filter
|
97
|
-
filter.
|
97
|
+
filter.setup_and_run('@import moo.css')
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
data/test/filters/test_slim.rb
CHANGED
@@ -10,15 +10,15 @@ class Nanoc::Filters::SlimTest < MiniTest::Unit::TestCase
|
|
10
10
|
filter = ::Nanoc::Filters::Slim.new({ :rabbit => 'The rabbit is on the branch.' })
|
11
11
|
|
12
12
|
# Run filter (no assigns)
|
13
|
-
result = filter.
|
13
|
+
result = filter.setup_and_run('html')
|
14
14
|
assert_match(/<html>.*<\/html>/, result)
|
15
15
|
|
16
16
|
# Run filter (assigns without @)
|
17
|
-
result = filter.
|
17
|
+
result = filter.setup_and_run('p = rabbit')
|
18
18
|
assert_equal("<p>The rabbit is on the branch.</p>", result)
|
19
19
|
|
20
20
|
# Run filter (assigns with @)
|
21
|
-
result = filter.
|
21
|
+
result = filter.setup_and_run('p = @rabbit')
|
22
22
|
assert_equal("<p>The rabbit is on the branch.</p>", result)
|
23
23
|
end
|
24
24
|
end
|
@@ -27,7 +27,7 @@ class Nanoc::Filters::SlimTest < MiniTest::Unit::TestCase
|
|
27
27
|
if_have 'slim' do
|
28
28
|
filter = ::Nanoc::Filters::Slim.new({ :content => 'The rabbit is on the branch.' })
|
29
29
|
|
30
|
-
result = filter.
|
30
|
+
result = filter.setup_and_run('p = yield')
|
31
31
|
assert_equal("<p>The rabbit is on the branch.</p>", result)
|
32
32
|
end
|
33
33
|
end
|
@@ -12,7 +12,7 @@ class Nanoc::Filters::TypogrubyTest < MiniTest::Unit::TestCase
|
|
12
12
|
# Run filter
|
13
13
|
a = '"Typogruby makes HTML look smarter & better, don\'t you think?"'
|
14
14
|
b = '<span class="dquo">“</span>Typogruby makes <span class="caps">HTML</span> look smarter <span class="amp">&</span> better, don’t you think?”'
|
15
|
-
result = filter.
|
15
|
+
result = filter.setup_and_run(a)
|
16
16
|
assert_equal(b, result)
|
17
17
|
end
|
18
18
|
end
|
@@ -10,7 +10,7 @@ class Nanoc::Filters::UglifyJSTest < MiniTest::Unit::TestCase
|
|
10
10
|
filter = ::Nanoc::Filters::UglifyJS.new
|
11
11
|
|
12
12
|
# Run filter
|
13
|
-
result = filter.
|
13
|
+
result = filter.setup_and_run("foo = 1; (function(bar) { if (true) alert(bar); })(foo)")
|
14
14
|
assert_match(/foo=1,function\((.)\){alert\(\1\)}\(foo\);/, result)
|
15
15
|
end
|
16
16
|
end
|
@@ -22,7 +22,7 @@ class Nanoc::Filters::UglifyJSTest < MiniTest::Unit::TestCase
|
|
22
22
|
filter = ::Nanoc::Filters::UglifyJS.new
|
23
23
|
|
24
24
|
# Run filter
|
25
|
-
result = filter.
|
25
|
+
result = filter.setup_and_run("foo = 1; (function(bar) { if (true) alert(bar); })(foo)", :toplevel => true)
|
26
26
|
assert_match(/foo=1,function\((.)\){alert\(\1\)}\(foo\);/, result)
|
27
27
|
end
|
28
28
|
end
|
data/test/filters/test_xsl.rb
CHANGED
@@ -83,7 +83,7 @@ EOS
|
|
83
83
|
layout = Nanoc::Layout.new(SAMPLE_XSL, {}, '/layout/')
|
84
84
|
|
85
85
|
filter = ::Nanoc::Filters::XSL.new(:layout => layout)
|
86
|
-
result = filter.
|
86
|
+
result = filter.setup_and_run(SAMPLE_XML_IN)
|
87
87
|
|
88
88
|
assert_equal SAMPLE_XML_OUT, result
|
89
89
|
end
|
@@ -94,7 +94,7 @@ EOS
|
|
94
94
|
layout = Nanoc::Layout.new(SAMPLE_XSL_WITH_PARAMS, {}, '/layout/')
|
95
95
|
|
96
96
|
filter = ::Nanoc::Filters::XSL.new(:layout => layout)
|
97
|
-
result = filter.
|
97
|
+
result = filter.setup_and_run(SAMPLE_XML_IN_WITH_PARAMS, :foo => 'bar')
|
98
98
|
|
99
99
|
assert_equal SAMPLE_XML_OUT_WITH_PARAMS, result
|
100
100
|
end
|
@@ -18,10 +18,10 @@ class Nanoc::Filters::YUICompressorTest < MiniTest::Unit::TestCase
|
|
18
18
|
}
|
19
19
|
JAVASCRIPT
|
20
20
|
|
21
|
-
result = filter.
|
21
|
+
result = filter.setup_and_run(sample_js, { :type => 'js', :munge => true })
|
22
22
|
assert_match "function factorial(c){var a=1;for(var b=2;b<=c;b++){a*=b}return a};", result
|
23
23
|
|
24
|
-
result = filter.
|
24
|
+
result = filter.setup_and_run(sample_js, { :type => 'js', :munge => false })
|
25
25
|
assert_match "function factorial(n){var result=1;for(var i=2;i<=n;i++){result*=i}return result};", result
|
26
26
|
end
|
27
27
|
end
|
@@ -36,7 +36,7 @@ class Nanoc::Filters::YUICompressorTest < MiniTest::Unit::TestCase
|
|
36
36
|
}
|
37
37
|
CSS
|
38
38
|
|
39
|
-
result = filter.
|
39
|
+
result = filter.setup_and_run(sample_css, { :type => 'css' })
|
40
40
|
assert_match "*{margin:0}", result
|
41
41
|
end
|
42
42
|
end
|
data/test/helper.rb
CHANGED
@@ -89,7 +89,7 @@ EOS
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
File.open('
|
92
|
+
File.open('nanoc.yaml', 'w') { |io| io.write('stuff: 12345') }
|
93
93
|
File.open('Rules', 'w') { |io| io.write(rules_content) }
|
94
94
|
end
|
95
95
|
end
|
@@ -200,6 +200,11 @@ EOS
|
|
200
200
|
'Expected %s to contain all the elements of %s' % [actual.inspect, expected.inspect]
|
201
201
|
end
|
202
202
|
|
203
|
+
def assert_raises_frozen_error
|
204
|
+
error = assert_raises(RuntimeError, TypeError) { yield }
|
205
|
+
assert_match(/(^can't modify frozen |^unable to modify frozen object$)/, error.message)
|
206
|
+
end
|
207
|
+
|
203
208
|
end
|
204
209
|
|
205
210
|
# Unexpected system exit is unexpected
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cri
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '2.
|
21
|
+
version: '2.3'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '2.
|
29
|
+
version: '2.3'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: minitest
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- lib/nanoc/base/source_data/configuration.rb
|
165
165
|
- lib/nanoc/base/source_data/data_source.rb
|
166
166
|
- lib/nanoc/base/source_data/item.rb
|
167
|
+
- lib/nanoc/base/source_data/item_array.rb
|
167
168
|
- lib/nanoc/base/source_data/layout.rb
|
168
169
|
- lib/nanoc/base/source_data/site.rb
|
169
170
|
- lib/nanoc/base/store.rb
|
@@ -180,9 +181,11 @@ files:
|
|
180
181
|
- lib/nanoc/cli/commands/deploy.rb
|
181
182
|
- lib/nanoc/cli/commands/nanoc.rb
|
182
183
|
- lib/nanoc/cli/commands/prune.rb
|
184
|
+
- lib/nanoc/cli/commands/shell.rb
|
183
185
|
- lib/nanoc/cli/commands/show-data.rb
|
184
186
|
- lib/nanoc/cli/commands/show-plugins.rb
|
185
187
|
- lib/nanoc/cli/commands/show-rules.rb
|
188
|
+
- lib/nanoc/cli/commands/sync.rb
|
186
189
|
- lib/nanoc/cli/commands/update.rb
|
187
190
|
- lib/nanoc/cli/commands/validate-css.rb
|
188
191
|
- lib/nanoc/cli/commands/validate-html.rb
|
@@ -305,6 +308,7 @@ files:
|
|
305
308
|
- test/base/test_directed_graph.rb
|
306
309
|
- test/base/test_filter.rb
|
307
310
|
- test/base/test_item.rb
|
311
|
+
- test/base/test_item_array.rb
|
308
312
|
- test/base/test_item_rep.rb
|
309
313
|
- test/base/test_layout.rb
|
310
314
|
- test/base/test_memoization.rb
|
@@ -314,6 +318,7 @@ files:
|
|
314
318
|
- test/base/test_rule.rb
|
315
319
|
- test/base/test_rule_context.rb
|
316
320
|
- test/base/test_site.rb
|
321
|
+
- test/cli/commands/test_check.rb
|
317
322
|
- test/cli/commands/test_compile.rb
|
318
323
|
- test/cli/commands/test_create_item.rb
|
319
324
|
- test/cli/commands/test_create_layout.rb
|
@@ -322,6 +327,7 @@ files:
|
|
322
327
|
- test/cli/commands/test_help.rb
|
323
328
|
- test/cli/commands/test_info.rb
|
324
329
|
- test/cli/commands/test_prune.rb
|
330
|
+
- test/cli/commands/test_sync.rb
|
325
331
|
- test/cli/commands/test_update.rb
|
326
332
|
- test/cli/commands/test_watch.rb
|
327
333
|
- test/cli/test_cleaning_stream.rb
|
@@ -394,7 +400,7 @@ files:
|
|
394
400
|
- test/tasks/test_clean.rb
|
395
401
|
- test/test_gem.rb
|
396
402
|
- nanoc.gemspec
|
397
|
-
homepage: http://nanoc.
|
403
|
+
homepage: http://nanoc.ws/
|
398
404
|
licenses: []
|
399
405
|
post_install_message:
|
400
406
|
rdoc_options:
|
@@ -416,7 +422,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
416
422
|
version: '0'
|
417
423
|
requirements: []
|
418
424
|
rubyforge_project:
|
419
|
-
rubygems_version: 1.8.
|
425
|
+
rubygems_version: 1.8.25
|
420
426
|
signing_key:
|
421
427
|
specification_version: 3
|
422
428
|
summary: a web publishing system written in Ruby for building small to medium-sized
|