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.
- checksums.yaml +4 -4
- data/NEWS.md +16 -0
- data/lib/nanoc.rb +4 -2
- data/lib/nanoc/data_sources/filesystem.rb +9 -3
- data/lib/nanoc/extra.rb +1 -0
- data/lib/nanoc/extra/core_ext.rb +0 -1
- data/lib/nanoc/extra/srcset_parser.rb +79 -0
- data/lib/nanoc/filters/erb.rb +1 -5
- data/lib/nanoc/filters/relativize_paths.rb +62 -10
- data/lib/nanoc/helpers/rendering.rb +5 -4
- data/lib/nanoc/orig_cli.rb +0 -5
- data/lib/nanoc/rule_dsl.rb +1 -0
- data/lib/nanoc/rule_dsl/action_provider.rb +1 -1
- data/lib/nanoc/rule_dsl/compiler_dsl.rb +1 -1
- data/lib/nanoc/rule_dsl/errors.rb +25 -0
- data/lib/nanoc/rule_dsl/rules_loader.rb +1 -1
- data/lib/nanoc/version.rb +1 -1
- metadata +37 -33
- data/lib/nanoc/base.rb +0 -13
- data/lib/nanoc/base/changes_stream.rb +0 -53
- data/lib/nanoc/base/errors.rb +0 -65
- data/lib/nanoc/checking.rb +0 -14
- data/lib/nanoc/checking/check.rb +0 -93
- data/lib/nanoc/checking/checks.rb +0 -14
- data/lib/nanoc/checking/checks/css.rb +0 -16
- data/lib/nanoc/checking/checks/external_links.rb +0 -151
- data/lib/nanoc/checking/checks/html.rb +0 -16
- data/lib/nanoc/checking/checks/internal_links.rb +0 -95
- data/lib/nanoc/checking/checks/mixed_content.rb +0 -37
- data/lib/nanoc/checking/checks/stale.rb +0 -41
- data/lib/nanoc/checking/checks/w3c_validator.rb +0 -31
- data/lib/nanoc/checking/dsl.rb +0 -27
- data/lib/nanoc/checking/issue.rb +0 -16
- data/lib/nanoc/checking/loader.rb +0 -50
- data/lib/nanoc/checking/runner.rb +0 -136
- data/lib/nanoc/deploying.rb +0 -10
- data/lib/nanoc/deploying/deployer.rb +0 -45
- data/lib/nanoc/deploying/deployers.rb +0 -11
- data/lib/nanoc/deploying/deployers/fog.rb +0 -220
- data/lib/nanoc/deploying/deployers/git.rb +0 -112
- data/lib/nanoc/deploying/deployers/rsync.rb +0 -68
- data/lib/nanoc/extra/core_ext/pathname.rb +0 -27
- data/lib/nanoc/orig_cli/commands/check.rb +0 -43
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4095705ee984152d7ecf6d5a30be0ca2a924c3c5133587ac84a054fa0fc46e9d
|
4
|
+
data.tar.gz: 160e3dae99c1e08af2a04d51dc9b65ec7a5222e0cf8281e8103c787290c29a22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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::
|
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
data/lib/nanoc/extra/core_ext.rb
CHANGED
@@ -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
|
data/lib/nanoc/filters/erb.rb
CHANGED
@@ -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,
|
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 =
|
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
|
-
|
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.
|
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::
|
12
|
-
# @raise [Nanoc::
|
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::
|
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::
|
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)
|
data/lib/nanoc/orig_cli.rb
CHANGED
@@ -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
|
data/lib/nanoc/rule_dsl.rb
CHANGED
@@ -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::
|
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::
|
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::
|
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
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.
|
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:
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|