nanoc 4.8.2 → 4.8.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +13 -1
  3. data/lib/nanoc/base/entities/document.rb +6 -1
  4. data/lib/nanoc/base/entities/identifier.rb +10 -3
  5. data/lib/nanoc/cli/command_runner.rb +27 -4
  6. data/lib/nanoc/cli/commands/view.rb +6 -2
  7. data/lib/nanoc/spec.rb +10 -0
  8. data/lib/nanoc/version.rb +1 -1
  9. data/spec/nanoc/base/entities/document_spec.rb +30 -0
  10. data/spec/nanoc/base/entities/identifier_spec.rb +13 -3
  11. data/spec/nanoc/base/item_rep_writer_spec.rb +1 -1
  12. data/spec/nanoc/base/services/executor_spec.rb +1 -1
  13. data/spec/nanoc/base/views/document_view_spec.rb +13 -13
  14. data/spec/nanoc/base/views/item_rep_view_spec.rb +15 -15
  15. data/spec/nanoc/base/views/item_view_spec.rb +21 -12
  16. data/spec/nanoc/base/views/layout_view_spec.rb +2 -2
  17. data/spec/nanoc/base/views/mutable_document_view_spec.rb +3 -3
  18. data/spec/nanoc/base/views/mutable_identifiable_collection_view_spec.rb +4 -4
  19. data/spec/nanoc/base/views/mutable_item_collection_view_spec.rb +5 -5
  20. data/spec/nanoc/base/views/mutable_item_view_spec.rb +3 -3
  21. data/spec/nanoc/base/views/mutable_layout_collection_view_spec.rb +5 -5
  22. data/spec/nanoc/base/views/mutable_layout_view_spec.rb +2 -2
  23. data/spec/nanoc/base/views/post_compile_item_rep_view_spec.rb +1 -1
  24. data/spec/nanoc/cli/command_runner_spec.rb +90 -0
  25. data/spec/nanoc/cli/commands/show_rules_spec.rb +1 -0
  26. data/spec/nanoc/cli/commands/view_spec.rb +13 -0
  27. data/spec/nanoc/cli_spec.rb +1 -1
  28. data/spec/nanoc/data_sources/filesystem_spec.rb +1 -1
  29. data/spec/nanoc/helpers/blogging_spec.rb +18 -18
  30. data/spec/nanoc/helpers/link_to_spec.rb +8 -8
  31. data/spec/spec_helper.rb +7 -8
  32. data/test/base/test_data_source.rb +8 -8
  33. data/test/base/test_item_array.rb +11 -11
  34. data/test/cli/commands/test_compile.rb +2 -2
  35. data/test/filters/test_handlebars.rb +3 -3
  36. data/test/filters/test_mustache.rb +2 -2
  37. data/test/filters/test_relativize_paths.rb +29 -29
  38. data/test/filters/test_sass.rb +1 -1
  39. data/test/filters/test_xsl.rb +6 -6
  40. data/test/helpers/test_capturing.rb +1 -1
  41. data/test/helpers/test_xml_sitemap.rb +15 -15
  42. metadata +4 -3
@@ -304,7 +304,7 @@ class Nanoc::Filters::SassTest < Nanoc::TestCase
304
304
  Nanoc::Int::Item.new(
305
305
  'blah',
306
306
  { content_filename: 'content/xyzzy.sass' },
307
- '/blah/',
307
+ '/blah',
308
308
  ),
309
309
  nil,
310
310
  ),
@@ -113,9 +113,9 @@ EOS
113
113
  def test_filter_as_layout
114
114
  if_have 'nokogiri' do
115
115
  # Create our data objects
116
- item = Nanoc::Int::Item.new(SAMPLE_XML_IN, {}, '/content/')
116
+ item = Nanoc::Int::Item.new(SAMPLE_XML_IN, {}, '/content')
117
117
  item = Nanoc::ItemWithRepsView.new(item, new_view_context)
118
- layout = Nanoc::Int::Layout.new(SAMPLE_XSL, {}, '/layout/')
118
+ layout = Nanoc::Int::Layout.new(SAMPLE_XSL, {}, '/layout')
119
119
  layout = Nanoc::LayoutView.new(layout, new_view_context)
120
120
 
121
121
  # Create an instance of the filter
@@ -139,9 +139,9 @@ EOS
139
139
  def test_filter_with_params
140
140
  if_have 'nokogiri' do
141
141
  # Create our data objects
142
- item = Nanoc::Int::Item.new(SAMPLE_XML_IN_WITH_PARAMS, {}, '/content/')
142
+ item = Nanoc::Int::Item.new(SAMPLE_XML_IN_WITH_PARAMS, {}, '/content')
143
143
  item = Nanoc::ItemWithRepsView.new(item, new_view_context)
144
- layout = Nanoc::Int::Layout.new(SAMPLE_XSL_WITH_PARAMS, {}, '/layout/')
144
+ layout = Nanoc::Int::Layout.new(SAMPLE_XSL_WITH_PARAMS, {}, '/layout')
145
145
  layout = Nanoc::LayoutView.new(layout, new_view_context)
146
146
 
147
147
  # Create an instance of the filter
@@ -165,9 +165,9 @@ EOS
165
165
  def test_filter_with_omit_xml_decl
166
166
  if_have 'nokogiri' do
167
167
  # Create our data objects
168
- item = Nanoc::Int::Item.new(SAMPLE_XML_IN_WITH_OMIT_XML_DECL, {}, '/content/')
168
+ item = Nanoc::Int::Item.new(SAMPLE_XML_IN_WITH_OMIT_XML_DECL, {}, '/content')
169
169
  item = Nanoc::ItemWithRepsView.new(item, new_view_context)
170
- layout = Nanoc::Int::Layout.new(SAMPLE_XSL_WITH_OMIT_XML_DECL, {}, '/layout/')
170
+ layout = Nanoc::Int::Layout.new(SAMPLE_XSL_WITH_OMIT_XML_DECL, {}, '/layout')
171
171
  layout = Nanoc::LayoutView.new(layout, new_view_context)
172
172
 
173
173
  # Create an instance of the filter
@@ -80,7 +80,7 @@ class Nanoc::Helpers::CapturingTest < Nanoc::TestCase
80
80
  foot
81
81
  EOS
82
82
 
83
- item = Nanoc::Int::Item.new('content', {}, '/')
83
+ item = Nanoc::Int::Item.new('content', {}, '/asdf')
84
84
  view_context = view_context_for(item)
85
85
  @item = Nanoc::ItemWithRepsView.new(item, view_context_for(item))
86
86
  @config = Nanoc::ConfigView.new(Nanoc::Int::Configuration.new, view_context)
@@ -35,24 +35,24 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
35
35
  items = []
36
36
 
37
37
  # Create item 1
38
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one/'), @view_context)
38
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one'), @view_context)
39
39
  items << item
40
40
  create_item_rep(item.unwrap, :one_a, '/item-one/a/')
41
41
  create_item_rep(item.unwrap, :one_b, '/item-one/b/')
42
42
 
43
43
  # Create item 2
44
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 2', { is_hidden: true }, '/item-two/'), @view_context)
44
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 2', { is_hidden: true }, '/item-two'), @view_context)
45
45
  items << item
46
46
 
47
47
  # Create item 3
48
48
  attrs = { mtime: Time.parse('2004-07-12 00:00:00 +02:00'), changefreq: 'daily', priority: 0.5 }
49
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 3', attrs, '/item-three/'), @view_context)
49
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 3', attrs, '/item-three'), @view_context)
50
50
  items << item
51
51
  create_item_rep(item.unwrap, :three_a, '/item-three/a/')
52
52
  create_item_rep(item.unwrap, :three_b, '/item-three/b/')
53
53
 
54
54
  # Create item 4
55
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 4', {}, '/item-four/'), @view_context)
55
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 4', {}, '/item-four'), @view_context)
56
56
  items << item
57
57
  create_item_rep(item.unwrap, :four_a, nil)
58
58
 
@@ -60,7 +60,7 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
60
60
  @items = Nanoc::Int::ItemCollection.new({}, items)
61
61
 
62
62
  # Create sitemap item
63
- @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap/'), @view_context)
63
+ @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap'), @view_context)
64
64
 
65
65
  # Create site
66
66
  config = Nanoc::Int::Configuration.new(hash: { base_url: 'http://example.com' })
@@ -99,7 +99,7 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
99
99
  # Create items
100
100
  items = []
101
101
  items << nil
102
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one/'), @view_context)
102
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one'), @view_context)
103
103
  items << item
104
104
  create_item_rep(item.unwrap, :one_a, '/item-one/a/')
105
105
  create_item_rep(item.unwrap, :one_b, '/item-one/b/')
@@ -107,7 +107,7 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
107
107
  @items = Nanoc::Int::ItemCollection.new({})
108
108
 
109
109
  # Create sitemap item
110
- @item = Nanoc::Int::Item.new('sitemap content', {}, '/sitemap/')
110
+ @item = Nanoc::Int::Item.new('sitemap content', {}, '/sitemap')
111
111
 
112
112
  # Create site
113
113
  config = Nanoc::Int::Configuration.new(hash: { base_url: 'http://example.com' })
@@ -136,13 +136,13 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
136
136
  def test_filter
137
137
  if_have 'builder', 'nokogiri' do
138
138
  # Create items
139
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one/'), @view_context)
139
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/item-one'), @view_context)
140
140
  @items = Nanoc::Int::ItemCollection.new({}, [item])
141
141
  create_item_rep(item.unwrap, :one_a, '/item-one/a/')
142
142
  create_item_rep(item.unwrap, :one_b, '/item-one/b/')
143
143
 
144
144
  # Create sitemap item
145
- @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap/'), @view_context)
145
+ @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap'), @view_context)
146
146
 
147
147
  # Create site
148
148
  config = Nanoc::Int::Configuration.new(hash: { base_url: 'http://example.com' })
@@ -168,22 +168,22 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
168
168
  if_have 'builder', 'nokogiri' do
169
169
  # Create items
170
170
  items = []
171
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/george/'), @view_context)
171
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/george'), @view_context)
172
172
  items << item
173
173
  create_item_rep(item.unwrap, :a_alice, '/george/alice/')
174
174
  create_item_rep(item.unwrap, :b_zoey, '/george/zoey/')
175
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/walton/'), @view_context)
175
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/walton'), @view_context)
176
176
  items << item
177
177
  create_item_rep(item.unwrap, :a_eve, '/walton/eve/')
178
178
  create_item_rep(item.unwrap, :b_bob, '/walton/bob/')
179
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/lucas/'), @view_context)
179
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/lucas'), @view_context)
180
180
  items << item
181
181
  create_item_rep(item.unwrap, :a_trudy, '/lucas/trudy/')
182
182
  create_item_rep(item.unwrap, :b_mallory, '/lucas/mallory/')
183
183
  @items = Nanoc::Int::ItemCollection.new({}, items)
184
184
 
185
185
  # Create sitemap item
186
- @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap/'), @view_context)
186
+ @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap'), @view_context)
187
187
 
188
188
  # Create site
189
189
  config = Nanoc::Int::Configuration.new(hash: { base_url: 'http://example.com' })
@@ -210,12 +210,12 @@ class Nanoc::Helpers::XMLSitemapTest < Nanoc::TestCase
210
210
  def test_url_escape
211
211
  if_have 'builder', 'nokogiri' do
212
212
  # Create items
213
- item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/george/'), @view_context)
213
+ item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('some content 1', {}, '/george'), @view_context)
214
214
  @items = Nanoc::Int::ItemCollection.new({}, [item])
215
215
  create_item_rep(item.unwrap, :default, '/cool projects/проверка')
216
216
 
217
217
  # Create sitemap item
218
- @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap/'), @view_context)
218
+ @item = Nanoc::ItemWithRepsView.new(Nanoc::Int::Item.new('sitemap content', {}, '/sitemap'), @view_context)
219
219
 
220
220
  # Create site
221
221
  config = Nanoc::Int::Configuration.new(hash: { base_url: 'http://example.com' })
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.8.2
4
+ version: 4.8.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: 2017-08-19 00:00:00.000000000 Z
11
+ date: 2017-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -453,6 +453,7 @@ files:
453
453
  - spec/nanoc/base/views/post_compile_item_rep_collection_view_spec.rb
454
454
  - spec/nanoc/base/views/post_compile_item_rep_view_spec.rb
455
455
  - spec/nanoc/base/views/post_compile_item_view_spec.rb
456
+ - spec/nanoc/cli/command_runner_spec.rb
456
457
  - spec/nanoc/cli/commands/compile/diff_generator_spec.rb
457
458
  - spec/nanoc/cli/commands/compile/file_action_printer_spec.rb
458
459
  - spec/nanoc/cli/commands/compile/timing_recorder_spec.rb
@@ -662,7 +663,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
662
663
  version: '0'
663
664
  requirements: []
664
665
  rubyforge_project:
665
- rubygems_version: 2.6.12
666
+ rubygems_version: 2.6.13
666
667
  signing_key:
667
668
  specification_version: 4
668
669
  summary: A static-site generator with a focus on flexibility.