nanoc 3.5.0 → 3.6.0
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.
- 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
|