nanoc 4.11.14 → 4.11.15
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|