nanoc 4.11.14 → 4.11.15

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +16 -0
  3. data/lib/nanoc.rb +4 -2
  4. data/lib/nanoc/data_sources/filesystem.rb +9 -3
  5. data/lib/nanoc/extra.rb +1 -0
  6. data/lib/nanoc/extra/core_ext.rb +0 -1
  7. data/lib/nanoc/extra/srcset_parser.rb +79 -0
  8. data/lib/nanoc/filters/erb.rb +1 -5
  9. data/lib/nanoc/filters/relativize_paths.rb +62 -10
  10. data/lib/nanoc/helpers/rendering.rb +5 -4
  11. data/lib/nanoc/orig_cli.rb +0 -5
  12. data/lib/nanoc/rule_dsl.rb +1 -0
  13. data/lib/nanoc/rule_dsl/action_provider.rb +1 -1
  14. data/lib/nanoc/rule_dsl/compiler_dsl.rb +1 -1
  15. data/lib/nanoc/rule_dsl/errors.rb +25 -0
  16. data/lib/nanoc/rule_dsl/rules_loader.rb +1 -1
  17. data/lib/nanoc/version.rb +1 -1
  18. metadata +37 -33
  19. data/lib/nanoc/base.rb +0 -13
  20. data/lib/nanoc/base/changes_stream.rb +0 -53
  21. data/lib/nanoc/base/errors.rb +0 -65
  22. data/lib/nanoc/checking.rb +0 -14
  23. data/lib/nanoc/checking/check.rb +0 -93
  24. data/lib/nanoc/checking/checks.rb +0 -14
  25. data/lib/nanoc/checking/checks/css.rb +0 -16
  26. data/lib/nanoc/checking/checks/external_links.rb +0 -151
  27. data/lib/nanoc/checking/checks/html.rb +0 -16
  28. data/lib/nanoc/checking/checks/internal_links.rb +0 -95
  29. data/lib/nanoc/checking/checks/mixed_content.rb +0 -37
  30. data/lib/nanoc/checking/checks/stale.rb +0 -41
  31. data/lib/nanoc/checking/checks/w3c_validator.rb +0 -31
  32. data/lib/nanoc/checking/dsl.rb +0 -27
  33. data/lib/nanoc/checking/issue.rb +0 -16
  34. data/lib/nanoc/checking/loader.rb +0 -50
  35. data/lib/nanoc/checking/runner.rb +0 -136
  36. data/lib/nanoc/deploying.rb +0 -10
  37. data/lib/nanoc/deploying/deployer.rb +0 -45
  38. data/lib/nanoc/deploying/deployers.rb +0 -11
  39. data/lib/nanoc/deploying/deployers/fog.rb +0 -220
  40. data/lib/nanoc/deploying/deployers/git.rb +0 -112
  41. data/lib/nanoc/deploying/deployers/rsync.rb +0 -68
  42. data/lib/nanoc/extra/core_ext/pathname.rb +0 -27
  43. data/lib/nanoc/orig_cli/commands/check.rb +0 -43
  44. data/lib/nanoc/orig_cli/commands/deploy.rb +0 -126
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f542b39fb4659e2567bffcd64e9d1ae1e75d1eb482c432eaff0a2ee9a2912d1
4
- data.tar.gz: c4a88763e2ef6262c1aab94de7ddd6e5f891cdab23b9ce07f44e5369c764af68
3
+ metadata.gz: 4095705ee984152d7ecf6d5a30be0ca2a924c3c5133587ac84a054fa0fc46e9d
4
+ data.tar.gz: 160e3dae99c1e08af2a04d51dc9b65ec7a5222e0cf8281e8103c787290c29a22
5
5
  SHA512:
6
- metadata.gz: '088c1d6d14fe2bb6451c0ab246bbe3b763126b257730eba7fff4788661ba07f4d4344fb76559b1daccd71e61825dc1b7f60e8a4a91b81a5e648884b577912ec7'
7
- data.tar.gz: 795e7850fdff1d75734cd17ad226cbdbb935b6c5803f8d7eb93d6f5397cdd6620f818bf6fb64fda8e8384842072e9de85eab995c61d57cf4080554df34ae4097
6
+ metadata.gz: f76a9bd9dc02e98c8c095073d1ec6a584ec260f1b92c859590183b67c3233d88f2ee7ef790812df6b830e7d0d70db6c79301de11d0eed91c8636062a65826215
7
+ data.tar.gz: ea3e1ce531452ddf3b8c8aceac582f8019d10ad0668a65fab99bb56f487bff7fbc0abb427b87a4f87e46304bf1ca78026510c03ba890f424dd00accdab5d9ba5
data/NEWS.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Nanoc news
2
2
 
3
+ ## 4.11.15 (2020-03-07)
4
+
5
+ Enhancements:
6
+
7
+ * Made `prune` print files to delete when using dry run (#1474, #1476)
8
+ * Made Nanoc emit a warning when the `contracts` library is loaded, as it can cause severe slowdowns (#1483, #1489)
9
+ * Made the default Rules handle `index.*` files (#1485, #1490)
10
+
11
+ Fixes:
12
+
13
+ * Fixed warnings on Ruby 2.7
14
+ * Made `@rep` (not just `@item_rep`) available in the Rendering helper (#1484, #1488)
15
+ * Made the `:relativize_paths` filter relativize the `value` attribute, not the `content` one, of the `param` HTML element (#1491)
16
+ * Made the `:relativize_paths` filter support relativizing paths in `srcset` attributes (#1475, #1492)
17
+ * Fixed an issue that could cause items to be marked as outdated when they shouldn’t be (#1471, #1493).
18
+
3
19
  ## 4.11.14 (2019-11-10)
4
20
 
5
21
  Fixes:
data/lib/nanoc.rb CHANGED
@@ -34,18 +34,20 @@ require 'uri'
34
34
 
35
35
  # Load extracted Nanoc dependencies
36
36
  require 'nanoc-core'
37
+ require 'nanoc-cli'
38
+ require 'nanoc-checking'
39
+ require 'nanoc-deploying'
37
40
 
38
41
  # Re-export from Nanoc::Core
39
42
  Nanoc::Identifier = Nanoc::Core::Identifier
40
43
  Nanoc::DataSource = Nanoc::Core::DataSource
41
44
  Nanoc::Filter = Nanoc::Core::Filter
42
45
  Nanoc::Error = Nanoc::Core::Error
46
+ Nanoc::Check = Nanoc::Checking::Check
43
47
 
44
48
  # Load Nanoc
45
49
  require 'nanoc/version'
46
- require 'nanoc/base'
47
50
  require 'nanoc/checking'
48
- require 'nanoc/deploying'
49
51
  require 'nanoc/extra'
50
52
  require 'nanoc/data_sources'
51
53
  require 'nanoc/filters'
@@ -48,6 +48,12 @@ module Nanoc::DataSources
48
48
  #
49
49
  # @api private
50
50
  class Filesystem < Nanoc::DataSource
51
+ class AmbiguousMetadataAssociationError < ::Nanoc::Core::Error
52
+ def initialize(content_filenames, meta_filename)
53
+ super("There are multiple content files (#{content_filenames.sort.join(', ')}) that could match the file containing metadata (#{meta_filename}).")
54
+ end
55
+ end
56
+
51
57
  identifiers :filesystem, :filesystem_unified
52
58
 
53
59
  # See {Nanoc::DataSource#up}.
@@ -85,9 +91,9 @@ module Nanoc::DataSources
85
91
  def changes_for_dir(dir)
86
92
  require 'listen'
87
93
 
88
- Nanoc::ChangesStream.new do |cl|
94
+ Nanoc::Core::ChangesStream.new do |cl|
89
95
  listener =
90
- Listen.to(dir, latency: 0.0, wait_for_delay: 0.0) do |_modifieds, _addeds, _deleteds|
96
+ Listen.to(dir, latency: 0.1, wait_for_delay: 0.0) do |_modifieds, _addeds, _deleteds|
91
97
  cl.unknown
92
98
  end
93
99
 
@@ -203,7 +209,7 @@ module Nanoc::DataSources
203
209
 
204
210
  have_possible_ambiguity = meta_filename && content_filenames.size > 1
205
211
  if have_possible_ambiguity && content_filenames.count { |fn| !parser.frontmatter?(fn) } != 1
206
- raise Nanoc::Int::Errors::AmbiguousMetadataAssociation.new(content_filenames, meta_filename)
212
+ raise Nanoc::DataSources::Filesystem::AmbiguousMetadataAssociationError.new(content_filenames, meta_filename)
207
213
  end
208
214
 
209
215
  content_filenames.each do |content_filename|
data/lib/nanoc/extra.rb CHANGED
@@ -17,4 +17,5 @@ end
17
17
 
18
18
  require_relative 'extra/link_collector'
19
19
  require_relative 'extra/jruby_nokogiri_warner'
20
+ require_relative 'extra/srcset_parser'
20
21
  require_relative 'extra/core_ext'
@@ -1,4 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'nanoc/extra/core_ext/pathname'
4
3
  require 'nanoc/extra/core_ext/time'
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nanoc
4
+ module Extra
5
+ # @api private
6
+ class SrcsetParser
7
+ class InvalidFormat < ::Nanoc::Core::Error
8
+ def initialize
9
+ super('Invalid srcset format')
10
+ end
11
+ end
12
+
13
+ REGEX_REST =
14
+ /
15
+ ( # Zero or one of the following:
16
+ ( # A width descriptor, consisting of:
17
+ \s+ # ASCII whitespace
18
+ \d+ # a valid non-negative integer
19
+ w # a U+0077 LATIN SMALL LETTER W character
20
+ )
21
+ |
22
+ ( # A pixel density descriptor, consisting of
23
+ \s+ # ASCII whitespace
24
+ (\d*\.)?\d+ # a valid floating-point number
25
+ x # and a U+0078 LATIN SMALL LETTER X character.
26
+ )
27
+ )*
28
+ /x.freeze
29
+
30
+ def initialize(value)
31
+ @value = value
32
+ end
33
+
34
+ def call
35
+ matches = []
36
+
37
+ loop do
38
+ match = {}
39
+
40
+ scan(/\s*/)
41
+ match[:url] = scan(/[^, ]+/)
42
+ match[:rest] = scan(REGEX_REST)
43
+ scan(/\s*/)
44
+
45
+ matches << match
46
+
47
+ next if try_scan(/,/)
48
+ break if eos?
49
+
50
+ raise(InvalidFormat)
51
+ end
52
+
53
+ matches
54
+ rescue InvalidFormat
55
+ @value
56
+ end
57
+
58
+ private
59
+
60
+ def scan(pattern)
61
+ match = try_scan(pattern)
62
+
63
+ match || raise(InvalidFormat)
64
+ end
65
+
66
+ def try_scan(pattern)
67
+ scanner.scan(pattern)
68
+ end
69
+
70
+ def eos?
71
+ scanner.eos?
72
+ end
73
+
74
+ def scanner
75
+ @_scanner ||= StringScanner.new(@value)
76
+ end
77
+ end
78
+ end
79
+ end
@@ -11,9 +11,6 @@ module Nanoc::Filters
11
11
  #
12
12
  # @param [String] content The content to filter
13
13
  #
14
- # @option params [Integer] :safe_level (nil) The safe level (`$SAFE`) to
15
- # use while running this filter
16
- #
17
14
  # @option params [String] :trim_mode (nil) The trim mode to use
18
15
  #
19
16
  # @return [String] The filtered content
@@ -29,9 +26,8 @@ module Nanoc::Filters
29
26
  assigns_binding = context.get_binding(&proc)
30
27
 
31
28
  # Get result
32
- safe_level = params[:safe_level]
33
29
  trim_mode = params[:trim_mode]
34
- erb = ::ERB.new(content, safe_level, trim_mode)
30
+ erb = ::ERB.new(content, nil, trim_mode)
35
31
  erb.filename = filename
36
32
  erb.result(assigns_binding)
37
33
  end
@@ -10,7 +10,16 @@ module Nanoc::Filters
10
10
 
11
11
  DDMemoize.activate(self)
12
12
 
13
- SELECTORS = ['*/@href', '*/@src', 'object/@data', 'param[@name="movie"]/@content', 'form/@action', 'comment()'].freeze
13
+ SELECTORS =
14
+ [
15
+ '*/@href',
16
+ '*/@src',
17
+ 'object/@data',
18
+ 'param[@name="movie"]/@value',
19
+ 'form/@action',
20
+ 'comment()',
21
+ { path: '*/@srcset', type: :srcset },
22
+ ].freeze
14
23
 
15
24
  GCSE_SEARCH_WORKAROUND = 'nanoc__gcse_search__f7ac3462f628a053f86fe6563c0ec98f1fe45cee'
16
25
 
@@ -135,14 +144,7 @@ module Nanoc::Filters
135
144
  content = apply_gcse_search_workaround(content)
136
145
 
137
146
  doc = /<html[\s>]/.match?(content) ? klass.parse(content) : klass.fragment(content)
138
- selector = selectors.map { |sel| "descendant-or-self::#{sel}" }.join('|')
139
- doc.xpath(selector, namespaces).each do |node|
140
- if node.name == 'comment'
141
- nokogiri_process_comment(node, doc, selectors, namespaces, klass, type, params)
142
- elsif path_is_relativizable?(node.content, params)
143
- node.content = relative_path_to(node.content)
144
- end
145
- end
147
+ handle_selectors(selectors, doc, namespaces, klass, type, params)
146
148
 
147
149
  output =
148
150
  case type
@@ -163,6 +165,33 @@ module Nanoc::Filters
163
165
  content.gsub(GCSE_SEARCH_WORKAROUND, 'gcse:search')
164
166
  end
165
167
 
168
+ def handle_selectors(selectors, doc, namespaces, klass, type, params)
169
+ selectors_by_type(selectors).each do |selector_type, sub_selectors|
170
+ selector = sub_selectors.map { |sel| "descendant-or-self::#{sel.fetch(:path)}" }.join('|')
171
+
172
+ doc.xpath(selector, namespaces).each do |node|
173
+ if node.name == 'comment'
174
+ nokogiri_process_comment(node, doc, sub_selectors, namespaces, klass, type, params)
175
+ elsif path_is_relativizable?(node.content, params)
176
+ node.content = relativize_node(node, selector_type)
177
+ end
178
+ end
179
+ end
180
+ end
181
+
182
+ def selectors_by_type(selectors)
183
+ typed_selectors =
184
+ selectors.map do |s|
185
+ if s.respond_to?(:keys)
186
+ s
187
+ else
188
+ { path: s, type: :basic }
189
+ end
190
+ end
191
+
192
+ typed_selectors.group_by { |s| s.fetch(:type) }
193
+ end
194
+
166
195
  def nokogiri_process_comment(node, doc, selectors, namespaces, klass, type, params)
167
196
  content = node.content.dup.sub(%r{^(\s*\[.+?\]>\s*)(.+?)(\s*<!\[endif\])}m) do |_m|
168
197
  beginning = Regexp.last_match[1]
@@ -175,8 +204,31 @@ module Nanoc::Filters
175
204
  node.replace(Nokogiri::XML::Comment.new(doc, content))
176
205
  end
177
206
 
207
+ def relativize_node(node, selector_type)
208
+ case selector_type
209
+ when :basic
210
+ relative_path_to(node.content)
211
+ when :srcset
212
+ handle_srcset_node(node)
213
+ else
214
+ raise Nanoc::Core::Errors::InternalInconsistency, "Unsupported selector type #{selector_type.inspect} in #{self.class}"
215
+ end
216
+ end
217
+
218
+ def handle_srcset_node(node)
219
+ parsed = Nanoc::Extra::SrcsetParser.new(node.content).call
220
+
221
+ if parsed.is_a?(Array)
222
+ parsed.map do |pair|
223
+ [relative_path_to(pair[:url]), pair[:rest]].join('')
224
+ end.join(',')
225
+ else
226
+ relative_path_to(parsed)
227
+ end
228
+ end
229
+
178
230
  def path_is_relativizable?(path, params)
179
- path.start_with?('/') && !exclude?(path, params)
231
+ path.match?(/\A\s*\//) && !exclude?(path, params)
180
232
  end
181
233
  end
182
234
  end
@@ -8,8 +8,8 @@ module Nanoc::Helpers
8
8
  # @param [String] identifier
9
9
  # @param [Hash] other_assigns
10
10
  #
11
- # @raise [Nanoc::Int::Errors::UnknownLayout]
12
- # @raise [Nanoc::Int::Errors::CannotDetermineFilter]
11
+ # @raise [Nanoc::Core::Errors::UnknownLayout]
12
+ # @raise [Nanoc::Core::Errors::CannotDetermineFilter]
13
13
  # @raise [Nanoc::Filter::UnknownFilter]
14
14
  #
15
15
  # @return [String, nil]
@@ -17,7 +17,7 @@ module Nanoc::Helpers
17
17
  # Find layout
18
18
  layout_view = @layouts[identifier]
19
19
  layout_view ||= @layouts[identifier.__nanoc_cleaned_identifier]
20
- raise Nanoc::Int::Errors::UnknownLayout.new(identifier) if layout_view.nil?
20
+ raise Nanoc::Core::Errors::UnknownLayout.new(identifier) if layout_view.nil?
21
21
 
22
22
  layout = layout_view._unwrap
23
23
 
@@ -33,6 +33,7 @@ module Nanoc::Helpers
33
33
  content: captured_content,
34
34
  item: @item,
35
35
  item_rep: @item_rep,
36
+ rep: @item_rep,
36
37
  items: @items,
37
38
  layout: layout_view,
38
39
  layouts: @layouts,
@@ -43,7 +44,7 @@ module Nanoc::Helpers
43
44
  filter_name_and_args = @config._context.compilation_context.filter_name_and_args_for_layout(layout)
44
45
  filter_name = filter_name_and_args.name
45
46
  filter_args = filter_name_and_args.args
46
- raise Nanoc::Int::Errors::CannotDetermineFilter.new(layout.identifier) if filter_name.nil?
47
+ raise Nanoc::Core::Errors::CannotDetermineFilter.new(layout.identifier) if filter_name.nil?
47
48
 
48
49
  # Get filter class
49
50
  filter_class = Nanoc::Filter.named!(filter_name)
@@ -11,10 +11,5 @@ end
11
11
  Nanoc::CLI.after_setup do
12
12
  root = File.dirname(__FILE__)
13
13
  commands_path = File.join(root, 'orig_cli', 'commands')
14
- Nanoc::CLI.add_command(Cri::Command.load_file(File.join(commands_path, 'check.rb'), infer_name: true))
15
- Nanoc::CLI.add_command(Cri::Command.load_file(File.join(commands_path, 'deploy.rb'), infer_name: true))
16
14
  Nanoc::CLI.add_command(Cri::Command.load_file(File.join(commands_path, 'show-rules.rb'), infer_name: true))
17
-
18
- # TODO: move into nanoc-deploying, once that exists as a package
19
- Nanoc::CLI::Commands::ShowPlugins.add_plugin_class(Nanoc::Deploying::Deployer, 'Deployers')
20
15
  end
@@ -6,6 +6,7 @@ module Nanoc
6
6
  end
7
7
  end
8
8
 
9
+ require_relative 'rule_dsl/errors'
9
10
  require_relative 'rule_dsl/compiler_dsl'
10
11
  require_relative 'rule_dsl/action_provider'
11
12
  require_relative 'rule_dsl/action_recorder'
@@ -29,7 +29,7 @@ module Nanoc::RuleDSL
29
29
 
30
30
  def rep_names_for(item)
31
31
  matching_rules = @rules_collection.item_compilation_rules_for(item)
32
- raise Nanoc::Int::Errors::NoMatchingCompilationRuleFound.new(item) if matching_rules.empty?
32
+ raise Nanoc::RuleDSL::Errors::NoMatchingCompilationRuleFound.new(item) if matching_rules.empty?
33
33
 
34
34
  matching_rules.map(&:rep_name).uniq
35
35
  end
@@ -231,7 +231,7 @@ module Nanoc::RuleDSL
231
231
  # include_rules 'rules/content'
232
232
  def include_rules(name)
233
233
  filename = [name.to_s, "#{name}.rb", "./#{name}", "./#{name}.rb"].find { |f| File.file?(f) }
234
- raise Nanoc::Int::Errors::NoRulesFileFound.new if filename.nil?
234
+ raise Nanoc::RuleDSL::Errors::NoRulesFileFound.new if filename.nil?
235
235
 
236
236
  Nanoc::RuleDSL::RulesLoader.new(@config, @rules_collection).parse(filename)
237
237
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nanoc
4
+ module RuleDSL
5
+ module Errors
6
+ # Error that is raised when no rules file can be found in the current
7
+ # working directory.
8
+ class NoRulesFileFound < ::Nanoc::Core::Error
9
+ def initialize
10
+ super('This site does not have a rules file, which is required for Nanoc sites.')
11
+ end
12
+ end
13
+
14
+ # Error that is raised when no compilation rule that can be applied to the
15
+ # current item can be found.
16
+ class NoMatchingCompilationRuleFound < ::Nanoc::Core::Error
17
+ # @param [Nanoc::Core::Item] item The item for which no compilation rule
18
+ # could be found
19
+ def initialize(item)
20
+ super("No compilation rules were found for the “#{item.identifier}” item.")
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -10,7 +10,7 @@ module Nanoc::RuleDSL
10
10
  # Find rules file
11
11
  rules_filenames = ['Rules', 'rules', 'Rules.rb', 'rules.rb']
12
12
  rules_filename = rules_filenames.find { |f| File.file?(f) }
13
- raise Nanoc::Int::Errors::NoRulesFileFound.new if rules_filename.nil?
13
+ raise Nanoc::RuleDSL::Errors::NoRulesFileFound.new if rules_filename.nil?
14
14
 
15
15
  parse(rules_filename)
16
16
  end
data/lib/nanoc/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Nanoc
4
4
  # The current Nanoc version.
5
- VERSION = '4.11.14'
5
+ VERSION = '4.11.15'
6
6
  end
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.11.14
4
+ version: 4.11.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-10 00:00:00.000000000 Z
11
+ date: 2020-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -38,34 +38,62 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nanoc-checking
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: nanoc-cli
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - '='
46
60
  - !ruby/object:Gem::Version
47
- version: 4.11.14
61
+ version: 4.11.15
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - '='
53
67
  - !ruby/object:Gem::Version
54
- version: 4.11.14
68
+ version: 4.11.15
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: nanoc-core
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - '='
60
74
  - !ruby/object:Gem::Version
61
- version: 4.11.14
75
+ version: 4.11.15
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - '='
67
81
  - !ruby/object:Gem::Version
68
- version: 4.11.14
82
+ version: 4.11.15
83
+ - !ruby/object:Gem::Dependency
84
+ name: nanoc-deploying
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: parallel
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -123,40 +151,17 @@ files:
123
151
  - README.md
124
152
  - bin/nanoc
125
153
  - lib/nanoc.rb
126
- - lib/nanoc/base.rb
127
- - lib/nanoc/base/changes_stream.rb
128
- - lib/nanoc/base/errors.rb
129
- - lib/nanoc/checking.rb
130
- - lib/nanoc/checking/check.rb
131
- - lib/nanoc/checking/checks.rb
132
- - lib/nanoc/checking/checks/css.rb
133
- - lib/nanoc/checking/checks/external_links.rb
134
- - lib/nanoc/checking/checks/html.rb
135
- - lib/nanoc/checking/checks/internal_links.rb
136
- - lib/nanoc/checking/checks/mixed_content.rb
137
- - lib/nanoc/checking/checks/stale.rb
138
- - lib/nanoc/checking/checks/w3c_validator.rb
139
- - lib/nanoc/checking/dsl.rb
140
- - lib/nanoc/checking/issue.rb
141
- - lib/nanoc/checking/loader.rb
142
- - lib/nanoc/checking/runner.rb
143
154
  - lib/nanoc/data_sources.rb
144
155
  - lib/nanoc/data_sources/filesystem.rb
145
156
  - lib/nanoc/data_sources/filesystem/errors.rb
146
157
  - lib/nanoc/data_sources/filesystem/parser.rb
147
158
  - lib/nanoc/data_sources/filesystem/tools.rb
148
- - lib/nanoc/deploying.rb
149
- - lib/nanoc/deploying/deployer.rb
150
- - lib/nanoc/deploying/deployers.rb
151
- - lib/nanoc/deploying/deployers/fog.rb
152
- - lib/nanoc/deploying/deployers/git.rb
153
- - lib/nanoc/deploying/deployers/rsync.rb
154
159
  - lib/nanoc/extra.rb
155
160
  - lib/nanoc/extra/core_ext.rb
156
- - lib/nanoc/extra/core_ext/pathname.rb
157
161
  - lib/nanoc/extra/core_ext/time.rb
158
162
  - lib/nanoc/extra/jruby_nokogiri_warner.rb
159
163
  - lib/nanoc/extra/link_collector.rb
164
+ - lib/nanoc/extra/srcset_parser.rb
160
165
  - lib/nanoc/filters.rb
161
166
  - lib/nanoc/filters/asciidoc.rb
162
167
  - lib/nanoc/filters/asciidoctor.rb
@@ -203,8 +208,6 @@ files:
203
208
  - lib/nanoc/helpers/text.rb
204
209
  - lib/nanoc/helpers/xml_sitemap.rb
205
210
  - lib/nanoc/orig_cli.rb
206
- - lib/nanoc/orig_cli/commands/check.rb
207
- - lib/nanoc/orig_cli/commands/deploy.rb
208
211
  - lib/nanoc/orig_cli/commands/show-rules.rb
209
212
  - lib/nanoc/rule_dsl.rb
210
213
  - lib/nanoc/rule_dsl/action_provider.rb
@@ -213,6 +216,7 @@ files:
213
216
  - lib/nanoc/rule_dsl/compilation_rule.rb
214
217
  - lib/nanoc/rule_dsl/compilation_rule_context.rb
215
218
  - lib/nanoc/rule_dsl/compiler_dsl.rb
219
+ - lib/nanoc/rule_dsl/errors.rb
216
220
  - lib/nanoc/rule_dsl/routing_rule.rb
217
221
  - lib/nanoc/rule_dsl/routing_rule_context.rb
218
222
  - lib/nanoc/rule_dsl/rule.rb
@@ -239,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
243
  - !ruby/object:Gem::Version
240
244
  version: '0'
241
245
  requirements: []
242
- rubygems_version: 3.0.6
246
+ rubygems_version: 3.1.2
243
247
  signing_key:
244
248
  specification_version: 4
245
249
  summary: A static-site generator with a focus on flexibility.