nanoc 3.3.7 → 3.4.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.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
|