nanoc 3.3.7 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +133 -0
- data/NEWS.md +15 -0
- data/lib/nanoc.rb +2 -2
- data/lib/nanoc/base/compilation/compiler.rb +1 -1
- data/lib/nanoc/base/compilation/item_rep_proxy.rb +3 -3
- data/lib/nanoc/base/core_ext/string.rb +0 -18
- data/lib/nanoc/base/errors.rb +24 -19
- data/lib/nanoc/base/plugin_registry.rb +1 -1
- data/lib/nanoc/base/result_data/item_rep.rb +1 -2
- data/lib/nanoc/base/source_data/site.rb +1 -1
- data/lib/nanoc/cli.rb +46 -4
- data/lib/nanoc/cli/ansi_string_colorizer.rb +30 -0
- data/lib/nanoc/cli/cleaning_stream.rb +91 -0
- data/lib/nanoc/cli/command_runner.rb +3 -11
- data/lib/nanoc/cli/commands/compile.rb +2 -2
- data/lib/nanoc/cli/commands/{create_item.rb → create-item.rb} +6 -7
- data/lib/nanoc/cli/commands/{create_layout.rb → create-layout.rb} +9 -10
- data/lib/nanoc/cli/commands/{create_site.rb → create-site.rb} +13 -14
- data/lib/nanoc/cli/commands/deploy.rb +4 -12
- data/lib/nanoc/cli/commands/nanoc.rb +4 -2
- data/lib/nanoc/cli/commands/prune.rb +1 -1
- data/lib/nanoc/cli/commands/{debug.rb → show-data.rb} +6 -5
- data/lib/nanoc/cli/commands/{info.rb → show-plugins.rb} +6 -6
- data/lib/nanoc/cli/commands/show-rules.rb +69 -0
- data/lib/nanoc/cli/commands/update.rb +1 -2
- data/lib/nanoc/cli/commands/validate-css.rb +24 -0
- data/lib/nanoc/cli/commands/validate-html.rb +24 -0
- data/lib/nanoc/cli/commands/validate-links.rb +35 -0
- data/lib/nanoc/cli/commands/watch.rb +3 -3
- data/lib/nanoc/cli/error_handler.rb +142 -26
- data/lib/nanoc/cli/logger.rb +4 -21
- data/lib/nanoc/cli/stream_cleaners.rb +14 -0
- data/lib/nanoc/cli/stream_cleaners/abstract.rb +23 -0
- data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +15 -0
- data/lib/nanoc/cli/stream_cleaners/utf8.rb +16 -0
- data/lib/nanoc/extra/deployers/rsync.rb +2 -7
- data/lib/nanoc/extra/pruner.rb +3 -3
- data/lib/nanoc/extra/validators/links.rb +14 -3
- data/lib/nanoc/filters.rb +4 -0
- data/lib/nanoc/filters/handlebars.rb +30 -0
- data/lib/nanoc/filters/mustache.rb +2 -2
- data/lib/nanoc/filters/pandoc.rb +20 -0
- data/lib/nanoc/helpers/filtering.rb +1 -1
- data/lib/nanoc/tasks/validate.rake +10 -68
- data/nanoc.gemspec +0 -16
- data/test/cli/commands/test_create_site.rb +1 -1
- data/test/cli/commands/test_deploy.rb +45 -0
- data/test/cli/test_cli.rb +1 -1
- data/test/extra/validators/test_links.rb +15 -5
- data/test/filters/test_handlebars.rb +42 -0
- data/test/filters/test_mustache.rb +19 -0
- data/test/filters/test_pandoc.rb +18 -0
- metadata +23 -33
@@ -49,13 +49,23 @@ class Nanoc::Extra::Validators::LinksTest < MiniTest::Unit::TestCase
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def test_fetch_http_status_for
|
52
|
-
|
52
|
+
@app = lambda { |env| [ env['REQUEST_PATH'][1..-1].to_i, {}, [ '... Useless body ...' ] ] }
|
53
|
+
@server = nil
|
54
|
+
|
55
|
+
@thread = Thread.new do
|
56
|
+
Rack::Handler::WEBrick.run(@app, :Host => @host='127.0.0.1', :Port => @port=9204) do |server|
|
57
|
+
@server = server
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
Thread.pass until @server
|
62
|
+
|
53
63
|
validator = Nanoc::Extra::Validators::Links.new('output', [ 'index.html' ])
|
64
|
+
assert_equal 200, validator.send(:fetch_http_status_for, URI.parse('http://127.0.0.1:9204/200'))
|
65
|
+
assert_equal 404, validator.send(:fetch_http_status_for, URI.parse('http://127.0.0.1:9204/404'))
|
54
66
|
|
55
|
-
|
56
|
-
|
57
|
-
assert_equal 200, validator.send(:fetch_http_status_for, URI.parse('https://httpstat.us/200'))
|
58
|
-
assert_equal 404, validator.send(:fetch_http_status_for, URI.parse('http://httpstat.us/404'))
|
67
|
+
@server.stop
|
68
|
+
@thread.kill
|
59
69
|
end
|
60
70
|
|
61
71
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Nanoc::Filters::HandlebarsTest < MiniTest::Unit::TestCase
|
4
|
+
|
5
|
+
include Nanoc::TestHelpers
|
6
|
+
|
7
|
+
def test_filter
|
8
|
+
if_have 'handlebars' do
|
9
|
+
# Create data
|
10
|
+
item = Nanoc::Item.new(
|
11
|
+
'content',
|
12
|
+
{ :title => 'Max Payne', :protagonist => 'Max Payne', :location => 'here' },
|
13
|
+
'/games/max-payne/')
|
14
|
+
layout = Nanoc::Layout.new(
|
15
|
+
'layout content',
|
16
|
+
{ :name => 'Max Payne' },
|
17
|
+
'/default/')
|
18
|
+
config = { :animals => 'cats and dogs' }
|
19
|
+
|
20
|
+
# Create filter
|
21
|
+
assigns = {
|
22
|
+
:item => item,
|
23
|
+
:layout => layout,
|
24
|
+
:config => config,
|
25
|
+
:content => 'No Payne No Gayne'
|
26
|
+
}
|
27
|
+
Handlebars.register_helper(:upcase) { |b| b.call.upcase }
|
28
|
+
filter = ::Nanoc::Filters::Handlebars.new(assigns)
|
29
|
+
|
30
|
+
# Run filter
|
31
|
+
result = filter.run('{{protagonist}} says: {{yield}}.')
|
32
|
+
assert_equal('Max Payne says: No Payne No Gayne.', result)
|
33
|
+
result = filter.run('We can’t stop {{item.location}}! This is the {{layout.name}} layout!')
|
34
|
+
assert_equal('We can’t stop here! This is the Max Payne layout!', result)
|
35
|
+
result = filter.run('It’s raining {{config.animals}} here!')
|
36
|
+
assert_equal('It’s raining cats and dogs here!', result)
|
37
|
+
result = filter.run('I am {{#upcase}}shouting{{/upcase}}!')
|
38
|
+
assert_equal('I am SHOUTING!', result)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -22,4 +22,23 @@ class Nanoc::Filters::MustacheTest < MiniTest::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
+
def test_filter_with_yield
|
26
|
+
if_have 'mustache' do
|
27
|
+
# Create item
|
28
|
+
item = Nanoc::Item.new(
|
29
|
+
'content',
|
30
|
+
{ :title => 'Max Payne', :protagonist => 'Max Payne' },
|
31
|
+
'/games/max-payne/'
|
32
|
+
)
|
33
|
+
|
34
|
+
# Create filter
|
35
|
+
filter = ::Nanoc::Filters::Mustache.new(
|
36
|
+
{ :content => 'No Payne No Gayne', :item => item })
|
37
|
+
|
38
|
+
# Run filter
|
39
|
+
result = filter.run('Max says: {{yield}}.')
|
40
|
+
assert_equal('Max says: No Payne No Gayne.', result)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
25
44
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Nanoc::Filters::PandocTest < MiniTest::Unit::TestCase
|
4
|
+
|
5
|
+
include Nanoc::TestHelpers
|
6
|
+
|
7
|
+
def test_filter
|
8
|
+
if_have 'pandoc-ruby' do
|
9
|
+
# Create filter
|
10
|
+
filter = ::Nanoc::Filters::Pandoc.new
|
11
|
+
|
12
|
+
# Run filter
|
13
|
+
result = filter.run("# Heading")
|
14
|
+
assert_equal("<h1 id=\"heading\">Heading</h1>", result)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
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.4.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: 2012-
|
12
|
+
date: 2012-06-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cri
|
@@ -123,6 +123,7 @@ extra_rdoc_files:
|
|
123
123
|
files:
|
124
124
|
- ChangeLog
|
125
125
|
- Gemfile
|
126
|
+
- Gemfile.lock
|
126
127
|
- LICENSE
|
127
128
|
- NEWS.md
|
128
129
|
- Rakefile
|
@@ -166,22 +167,32 @@ files:
|
|
166
167
|
- lib/nanoc/base/source_data/site.rb
|
167
168
|
- lib/nanoc/base/store.rb
|
168
169
|
- lib/nanoc/base.rb
|
170
|
+
- lib/nanoc/cli/ansi_string_colorizer.rb
|
171
|
+
- lib/nanoc/cli/cleaning_stream.rb
|
169
172
|
- lib/nanoc/cli/command_runner.rb
|
170
173
|
- lib/nanoc/cli/commands/autocompile.rb
|
171
174
|
- lib/nanoc/cli/commands/compile.rb
|
172
|
-
- lib/nanoc/cli/commands/
|
173
|
-
- lib/nanoc/cli/commands/
|
174
|
-
- lib/nanoc/cli/commands/
|
175
|
-
- lib/nanoc/cli/commands/debug.rb
|
175
|
+
- lib/nanoc/cli/commands/create-item.rb
|
176
|
+
- lib/nanoc/cli/commands/create-layout.rb
|
177
|
+
- lib/nanoc/cli/commands/create-site.rb
|
176
178
|
- lib/nanoc/cli/commands/deploy.rb
|
177
|
-
- lib/nanoc/cli/commands/info.rb
|
178
179
|
- lib/nanoc/cli/commands/nanoc.rb
|
179
180
|
- lib/nanoc/cli/commands/prune.rb
|
181
|
+
- lib/nanoc/cli/commands/show-data.rb
|
182
|
+
- lib/nanoc/cli/commands/show-plugins.rb
|
183
|
+
- lib/nanoc/cli/commands/show-rules.rb
|
180
184
|
- lib/nanoc/cli/commands/update.rb
|
185
|
+
- lib/nanoc/cli/commands/validate-css.rb
|
186
|
+
- lib/nanoc/cli/commands/validate-html.rb
|
187
|
+
- lib/nanoc/cli/commands/validate-links.rb
|
181
188
|
- lib/nanoc/cli/commands/view.rb
|
182
189
|
- lib/nanoc/cli/commands/watch.rb
|
183
190
|
- lib/nanoc/cli/error_handler.rb
|
184
191
|
- lib/nanoc/cli/logger.rb
|
192
|
+
- lib/nanoc/cli/stream_cleaners/abstract.rb
|
193
|
+
- lib/nanoc/cli/stream_cleaners/ansi_colors.rb
|
194
|
+
- lib/nanoc/cli/stream_cleaners/utf8.rb
|
195
|
+
- lib/nanoc/cli/stream_cleaners.rb
|
185
196
|
- lib/nanoc/cli.rb
|
186
197
|
- lib/nanoc/data_sources/deprecated/delicious.rb
|
187
198
|
- lib/nanoc/data_sources/deprecated/last_fm.rb
|
@@ -221,11 +232,13 @@ files:
|
|
221
232
|
- lib/nanoc/filters/erb.rb
|
222
233
|
- lib/nanoc/filters/erubis.rb
|
223
234
|
- lib/nanoc/filters/haml.rb
|
235
|
+
- lib/nanoc/filters/handlebars.rb
|
224
236
|
- lib/nanoc/filters/kramdown.rb
|
225
237
|
- lib/nanoc/filters/less.rb
|
226
238
|
- lib/nanoc/filters/markaby.rb
|
227
239
|
- lib/nanoc/filters/maruku.rb
|
228
240
|
- lib/nanoc/filters/mustache.rb
|
241
|
+
- lib/nanoc/filters/pandoc.rb
|
229
242
|
- lib/nanoc/filters/rainpress.rb
|
230
243
|
- lib/nanoc/filters/rdiscount.rb
|
231
244
|
- lib/nanoc/filters/rdoc.rb
|
@@ -319,11 +332,13 @@ files:
|
|
319
332
|
- test/filters/test_erb.rb
|
320
333
|
- test/filters/test_erubis.rb
|
321
334
|
- test/filters/test_haml.rb
|
335
|
+
- test/filters/test_handlebars.rb
|
322
336
|
- test/filters/test_kramdown.rb
|
323
337
|
- test/filters/test_less.rb
|
324
338
|
- test/filters/test_markaby.rb
|
325
339
|
- test/filters/test_maruku.rb
|
326
340
|
- test/filters/test_mustache.rb
|
341
|
+
- test/filters/test_pandoc.rb
|
327
342
|
- test/filters/test_rainpress.rb
|
328
343
|
- test/filters/test_rdiscount.rb
|
329
344
|
- test/filters/test_rdoc.rb
|
@@ -354,32 +369,7 @@ files:
|
|
354
369
|
- .gemtest
|
355
370
|
homepage: http://nanoc.stoneship.org/
|
356
371
|
licenses: []
|
357
|
-
post_install_message:
|
358
|
-
|
359
|
-
Thanks for installing nanoc 3.3! Here are some resources to help you get
|
360
|
-
|
361
|
-
started:
|
362
|
-
|
363
|
-
|
364
|
-
* The web site at <http://nanoc.stoneship.org/>
|
365
|
-
|
366
|
-
* The tutorial at <http://nanoc.stoneship.org/docs/3-getting-started/>
|
367
|
-
|
368
|
-
* The manual at <http://nanoc.stoneship.org/docs/4-basic-concepts/>
|
369
|
-
|
370
|
-
|
371
|
-
If you have questions, issues or simply want to share ideas, join the
|
372
|
-
|
373
|
-
discussion at <http://groups.google.com/group/nanoc> or stop by in the IRC
|
374
|
-
|
375
|
-
channel on irc.freenode.net, channel #nanoc. See you there!
|
376
|
-
|
377
|
-
|
378
|
-
Enjoy!
|
379
|
-
|
380
|
-
------------------------------------------------------------------------------
|
381
|
-
|
382
|
-
'
|
372
|
+
post_install_message:
|
383
373
|
rdoc_options:
|
384
374
|
- --main
|
385
375
|
- README.md
|