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
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Nanoc::Extra
|
4
|
-
# @api private
|
5
|
-
module PathnameExtensions
|
6
|
-
def __nanoc_components
|
7
|
-
components = []
|
8
|
-
tmp = self
|
9
|
-
loop do
|
10
|
-
old = tmp
|
11
|
-
components << File.basename(tmp)
|
12
|
-
tmp = File.dirname(tmp)
|
13
|
-
break if old == tmp
|
14
|
-
end
|
15
|
-
components.reverse
|
16
|
-
end
|
17
|
-
|
18
|
-
def __nanoc_include_component?(component)
|
19
|
-
__nanoc_components.include?(component)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# @api private
|
25
|
-
class ::Pathname
|
26
|
-
include ::Nanoc::Extra::PathnameExtensions
|
27
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
usage 'check [options] [names]'
|
4
|
-
summary 'run issue checks'
|
5
|
-
description "
|
6
|
-
Run issue checks on the current site. If the `--all` option is passed, all available issue checks will be run. By default, the issue checks marked for deployment will be run.
|
7
|
-
"
|
8
|
-
|
9
|
-
flag :a, :all, 'run all checks'
|
10
|
-
flag :L, :list, 'list all checks'
|
11
|
-
flag :d, :deploy, '(deprecated)'
|
12
|
-
|
13
|
-
module Nanoc::OrigCLI::Commands
|
14
|
-
class Check < ::Nanoc::CLI::CommandRunner
|
15
|
-
def run
|
16
|
-
site = load_site
|
17
|
-
|
18
|
-
runner = Nanoc::Checking::Runner.new(site)
|
19
|
-
|
20
|
-
if options[:list]
|
21
|
-
runner.list_checks
|
22
|
-
return
|
23
|
-
end
|
24
|
-
|
25
|
-
success =
|
26
|
-
if options[:all]
|
27
|
-
runner.run_all
|
28
|
-
elsif options[:deploy]
|
29
|
-
runner.run_for_deploy
|
30
|
-
elsif arguments.any?
|
31
|
-
runner.run_specific(arguments)
|
32
|
-
else
|
33
|
-
runner.run_for_deploy
|
34
|
-
end
|
35
|
-
|
36
|
-
unless success
|
37
|
-
raise Nanoc::Core::TrivialError, 'One or more checks failed'
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
runner Nanoc::OrigCLI::Commands::Check
|
@@ -1,126 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
usage 'deploy [target] [options]'
|
4
|
-
summary 'deploy the compiled site'
|
5
|
-
description "
|
6
|
-
Deploys the compiled site. The compiled site contents in the output directory will be uploaded to the destination, which is specified using the `--target` option.
|
7
|
-
"
|
8
|
-
|
9
|
-
option :t, :target, 'specify the location to deploy to (default: `default`)', argument: :required
|
10
|
-
flag :C, :'no-check', 'do not run the issue checks marked for deployment'
|
11
|
-
flag :L, :list, 'list available locations to deploy to'
|
12
|
-
flag :D, :'list-deployers', 'list available deployers'
|
13
|
-
option :n, :'dry-run', 'show what would be deployed'
|
14
|
-
|
15
|
-
module Nanoc::OrigCLI::Commands
|
16
|
-
class Deploy < ::Nanoc::CLI::CommandRunner
|
17
|
-
def run
|
18
|
-
@site = load_site
|
19
|
-
Nanoc::Core::Compiler.new_for(@site).run_until_preprocessed
|
20
|
-
|
21
|
-
if options[:'list-deployers']
|
22
|
-
list_deployers
|
23
|
-
elsif options[:list]
|
24
|
-
list_deploy_configs
|
25
|
-
else
|
26
|
-
deploy
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def list_deployers
|
33
|
-
deployers = Nanoc::Deploying::Deployer.all
|
34
|
-
deployer_names = deployers.map(&:identifier).sort
|
35
|
-
puts 'Available deployers:'
|
36
|
-
deployer_names.each do |name|
|
37
|
-
puts " #{name}"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def list_deploy_configs
|
42
|
-
if deploy_configs.empty?
|
43
|
-
puts 'No deployment configurations.'
|
44
|
-
else
|
45
|
-
puts 'Available deployment configurations:'
|
46
|
-
deploy_configs.each_key do |name|
|
47
|
-
puts " #{name}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def deploy
|
53
|
-
deployer = deployer_for(deploy_config)
|
54
|
-
|
55
|
-
checks_successful = options[:'no-check'] ? true : check
|
56
|
-
return unless checks_successful
|
57
|
-
|
58
|
-
deployer.run
|
59
|
-
end
|
60
|
-
|
61
|
-
def deploy_config
|
62
|
-
if deploy_configs.empty?
|
63
|
-
raise Nanoc::Core::TrivialError, 'The site has no deployment configurations.'
|
64
|
-
end
|
65
|
-
|
66
|
-
if arguments.length > 1
|
67
|
-
raise Nanoc::Core::TrivialError, "usage: #{command.usage}"
|
68
|
-
end
|
69
|
-
|
70
|
-
target_from_arguments = arguments[0]
|
71
|
-
target_from_options = options.fetch(:target, nil)
|
72
|
-
if target_from_arguments && target_from_options
|
73
|
-
raise Nanoc::Core::TrivialError, 'Only one deployment target can be specified on the command line.'
|
74
|
-
end
|
75
|
-
|
76
|
-
target = target_from_arguments || target_from_options || :default
|
77
|
-
deploy_configs.fetch(target.to_sym) do
|
78
|
-
raise Nanoc::Core::TrivialError, "The site has no deployment configuration named `#{target}`."
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def deployer_for(config)
|
83
|
-
deployer_class_for_config(config).new(
|
84
|
-
@site.config.output_dir,
|
85
|
-
config,
|
86
|
-
dry_run: options[:'dry-run'],
|
87
|
-
)
|
88
|
-
end
|
89
|
-
|
90
|
-
def check
|
91
|
-
runner = Nanoc::Checking::Runner.new(@site)
|
92
|
-
if runner.any_enabled_checks?
|
93
|
-
puts 'Running issue checks…'
|
94
|
-
is_success = runner.run_for_deploy
|
95
|
-
if is_success
|
96
|
-
puts 'No issues found. Deploying!'
|
97
|
-
else
|
98
|
-
puts 'Issues found, deploy aborted.'
|
99
|
-
end
|
100
|
-
is_success
|
101
|
-
else
|
102
|
-
true
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
def deploy_configs
|
107
|
-
@site.config.fetch(:deploy, {})
|
108
|
-
end
|
109
|
-
|
110
|
-
def deployer_class_for_config(config)
|
111
|
-
name = config.fetch(:kind) do
|
112
|
-
$stderr.puts 'Warning: The specified deploy target does not have a kind attribute. Assuming rsync.'
|
113
|
-
'rsync'
|
114
|
-
end
|
115
|
-
|
116
|
-
deployer_class = Nanoc::Deploying::Deployer.named(name.to_sym)
|
117
|
-
if deployer_class.nil?
|
118
|
-
names = Nanoc::Deploying::Deployer.all.map(&:identifier)
|
119
|
-
raise Nanoc::Core::TrivialError, "The specified deploy target has an unrecognised kind “#{name}” (expected one of #{names.join(', ')})."
|
120
|
-
end
|
121
|
-
deployer_class
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
runner Nanoc::OrigCLI::Commands::Deploy
|