nanoc 4.11.0 → 4.11.1
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 +6 -0
- data/lib/nanoc.rb +4 -7
- data/lib/nanoc/base.rb +3 -3
- data/lib/nanoc/base/assertions.rb +1 -1
- data/lib/nanoc/base/entities.rb +2 -20
- data/lib/nanoc/base/entities/action_sequence.rb +60 -64
- data/lib/nanoc/base/entities/checksum_collection.rb +23 -21
- data/lib/nanoc/base/entities/dependency.rb +24 -22
- data/lib/nanoc/base/entities/outdatedness_reasons.rb +74 -72
- data/lib/nanoc/base/entities/outdatedness_status.rb +19 -17
- data/lib/nanoc/base/entities/props.rb +119 -117
- data/lib/nanoc/base/entities/site.rb +46 -50
- data/lib/nanoc/base/errors.rb +183 -198
- data/lib/nanoc/base/repos.rb +4 -2
- data/lib/nanoc/base/repos/action_sequence_store.rb +44 -42
- data/lib/nanoc/base/repos/aggregate_data_source.rb +24 -22
- data/lib/nanoc/base/repos/checksum_store.rb +51 -49
- data/lib/nanoc/base/repos/compiled_content_cache.rb +47 -45
- data/lib/nanoc/base/repos/compiled_content_store.rb +76 -0
- data/lib/nanoc/base/repos/config_loader.rb +74 -72
- data/lib/nanoc/base/repos/dependency_store.rb +174 -172
- data/lib/nanoc/base/repos/in_mem_data_source.rb +17 -15
- data/lib/nanoc/base/repos/item_rep_repo.rb +26 -24
- data/lib/nanoc/base/repos/outdatedness_store.rb +50 -48
- data/lib/nanoc/base/repos/prefixed_data_source.rb +21 -19
- data/lib/nanoc/base/repos/site_loader.rb +75 -73
- data/lib/nanoc/base/repos/store.rb +93 -91
- data/lib/nanoc/base/services.rb +7 -3
- data/lib/nanoc/base/services/action_provider.rb +23 -21
- data/lib/nanoc/base/services/action_sequence_builder.rb +42 -34
- data/lib/nanoc/base/services/compilation_context.rb +49 -47
- data/lib/nanoc/base/services/compiler.rb +177 -170
- data/lib/nanoc/base/services/compiler/phases.rb +8 -1
- data/lib/nanoc/base/services/compiler/phases/abstract.rb +44 -38
- data/lib/nanoc/base/services/compiler/phases/cache.rb +34 -28
- data/lib/nanoc/base/services/compiler/phases/mark_done.rb +17 -11
- data/lib/nanoc/base/services/compiler/phases/notify.rb +21 -0
- data/lib/nanoc/base/services/compiler/phases/recalculate.rb +37 -31
- data/lib/nanoc/base/services/compiler/phases/resume.rb +47 -48
- data/lib/nanoc/base/services/compiler/phases/write.rb +65 -59
- data/lib/nanoc/base/services/compiler/stage.rb +27 -8
- data/lib/nanoc/base/services/compiler/stages.rb +7 -1
- data/lib/nanoc/base/services/compiler/stages/build_reps.rb +25 -19
- data/lib/nanoc/base/services/compiler/stages/calculate_checksums.rb +34 -28
- data/lib/nanoc/base/services/compiler/stages/cleanup.rb +33 -27
- data/lib/nanoc/base/services/compiler/stages/compile_reps.rb +79 -69
- data/lib/nanoc/base/services/compiler/stages/determine_outdatedness.rb +46 -40
- data/lib/nanoc/base/services/compiler/stages/forget_outdated_dependencies.rb +15 -9
- data/lib/nanoc/base/services/compiler/stages/load_stores.rb +28 -22
- data/lib/nanoc/base/services/compiler/stages/postprocess.rb +16 -10
- data/lib/nanoc/base/services/compiler/stages/preprocess.rb +25 -19
- data/lib/nanoc/base/services/compiler/stages/prune.rb +23 -17
- data/lib/nanoc/base/services/compiler/stages/store_post_compilation_state.rb +15 -9
- data/lib/nanoc/base/services/compiler/stages/store_pre_compilation_state.rb +26 -20
- data/lib/nanoc/base/services/compiler_loader.rb +26 -24
- data/lib/nanoc/base/services/dependency_tracker.rb +47 -45
- data/lib/nanoc/base/services/executor.rb +16 -15
- data/lib/nanoc/base/services/filter.rb +37 -5
- data/lib/nanoc/base/services/instrumentor.rb +12 -10
- data/lib/nanoc/base/services/item_rep_builder.rb +21 -19
- data/lib/nanoc/base/services/item_rep_router.rb +72 -70
- data/lib/nanoc/base/services/item_rep_selector.rb +48 -46
- data/lib/nanoc/base/services/item_rep_writer.rb +58 -53
- data/lib/nanoc/base/services/outdatedness_checker.rb +181 -179
- data/lib/nanoc/base/services/outdatedness_rule.rb +23 -21
- data/lib/nanoc/base/services/outdatedness_rules.rb +5 -3
- data/lib/nanoc/base/services/outdatedness_rules/attributes_modified.rb +28 -24
- data/lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb +20 -16
- data/lib/nanoc/base/services/outdatedness_rules/content_modified.rb +13 -9
- data/lib/nanoc/base/services/outdatedness_rules/item_collection_extended.rb +12 -8
- data/lib/nanoc/base/services/outdatedness_rules/layout_collection_extended.rb +12 -8
- data/lib/nanoc/base/services/outdatedness_rules/not_written.rb +10 -6
- data/lib/nanoc/base/services/outdatedness_rules/rules_modified.rb +39 -35
- data/lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb +19 -15
- data/lib/nanoc/base/services/pruner.rb +2 -2
- data/lib/nanoc/base/views.rb +7 -0
- data/lib/nanoc/base/views/basic_item_view.rb +1 -1
- data/lib/nanoc/base/views/compilation_item_rep_view.rb +2 -2
- data/lib/nanoc/base/views/identifiable_collection_view.rb +2 -2
- data/lib/nanoc/base/views/mixins/document_view_mixin.rb +1 -1
- data/lib/nanoc/base/views/mixins/mutable_document_view_mixin.rb +5 -5
- data/lib/nanoc/base/views/mutable_item_collection_view.rb +3 -3
- data/lib/nanoc/base/views/mutable_layout_collection_view.rb +2 -2
- data/lib/nanoc/base/views/view_context_for_compilation.rb +6 -6
- data/lib/nanoc/base/views/view_context_for_pre_compilation.rb +2 -2
- data/lib/nanoc/base/views/view_context_for_shell.rb +2 -2
- data/lib/nanoc/checking/check.rb +1 -1
- data/lib/nanoc/cli/commands/compile_listeners/abstract.rb +24 -7
- data/lib/nanoc/cli/commands/compile_listeners/debug_printer.rb +79 -15
- data/lib/nanoc/cli/commands/compile_listeners/diff_generator.rb +4 -7
- data/lib/nanoc/cli/commands/compile_listeners/file_action_printer.rb +15 -24
- data/lib/nanoc/cli/commands/compile_listeners/timing_recorder.rb +22 -18
- data/lib/nanoc/cli/commands/create-site.rb +2 -7
- data/lib/nanoc/cli/commands/shell.rb +1 -1
- data/lib/nanoc/cli/commands/show-data.rb +9 -9
- data/lib/nanoc/cli/logger.rb +1 -1
- data/lib/nanoc/data_sources/filesystem.rb +8 -8
- data/lib/nanoc/filters/erb.rb +1 -1
- data/lib/nanoc/filters/erubi.rb +1 -1
- data/lib/nanoc/filters/erubis.rb +1 -1
- data/lib/nanoc/filters/haml.rb +1 -1
- data/lib/nanoc/filters/sass.rb +1 -1
- data/lib/nanoc/filters/slim.rb +1 -1
- data/lib/nanoc/helpers/breadcrumbs.rb +2 -2
- data/lib/nanoc/helpers/capturing.rb +9 -8
- data/lib/nanoc/helpers/filtering.rb +2 -2
- data/lib/nanoc/helpers/rendering.rb +1 -1
- data/lib/nanoc/rule_dsl.rb +10 -0
- data/lib/nanoc/rule_dsl/action_provider.rb +3 -3
- data/lib/nanoc/rule_dsl/action_recorder.rb +3 -3
- data/lib/nanoc/rule_dsl/action_sequence_calculator.rb +7 -7
- data/lib/nanoc/rule_dsl/compilation_rule.rb +2 -2
- data/lib/nanoc/rule_dsl/compilation_rule_context.rb +9 -9
- data/lib/nanoc/rule_dsl/compiler_dsl.rb +4 -4
- data/lib/nanoc/rule_dsl/routing_rule.rb +3 -3
- data/lib/nanoc/rule_dsl/rule.rb +5 -5
- data/lib/nanoc/rule_dsl/rule_context.rb +3 -3
- data/lib/nanoc/rule_dsl/rules_collection.rb +4 -4
- data/lib/nanoc/spec.rb +15 -15
- data/lib/nanoc/version.rb +1 -1
- metadata +10 -111
- data/lib/nanoc/base/contracts_support.rb +0 -130
- data/lib/nanoc/base/core_ext.rb +0 -5
- data/lib/nanoc/base/core_ext/array.rb +0 -50
- data/lib/nanoc/base/core_ext/hash.rb +0 -54
- data/lib/nanoc/base/core_ext/string.rb +0 -16
- data/lib/nanoc/base/entities/code_snippet.rb +0 -53
- data/lib/nanoc/base/entities/configuration-schema.json +0 -122
- data/lib/nanoc/base/entities/configuration.rb +0 -206
- data/lib/nanoc/base/entities/content.rb +0 -112
- data/lib/nanoc/base/entities/context.rb +0 -70
- data/lib/nanoc/base/entities/directed_graph.rb +0 -195
- data/lib/nanoc/base/entities/document.rb +0 -125
- data/lib/nanoc/base/entities/identifiable_collection.rb +0 -141
- data/lib/nanoc/base/entities/identifier.rb +0 -222
- data/lib/nanoc/base/entities/item.rb +0 -10
- data/lib/nanoc/base/entities/item_collection.rb +0 -14
- data/lib/nanoc/base/entities/item_rep.rb +0 -91
- data/lib/nanoc/base/entities/layout.rb +0 -10
- data/lib/nanoc/base/entities/layout_collection.rb +0 -14
- data/lib/nanoc/base/entities/lazy_value.rb +0 -43
- data/lib/nanoc/base/entities/pattern.rb +0 -85
- data/lib/nanoc/base/entities/processing_action.rb +0 -21
- data/lib/nanoc/base/entities/processing_actions.rb +0 -5
- data/lib/nanoc/base/entities/processing_actions/filter.rb +0 -36
- data/lib/nanoc/base/entities/processing_actions/layout.rb +0 -36
- data/lib/nanoc/base/entities/processing_actions/snapshot.rb +0 -46
- data/lib/nanoc/base/entities/snapshot_def.rb +0 -22
- data/lib/nanoc/base/repos/data_source.rb +0 -168
- data/lib/nanoc/base/repos/snapshot_repo.rb +0 -67
- data/lib/nanoc/base/services/checksummer.rb +0 -274
- data/lib/nanoc/base/services/notification_center.rb +0 -87
- data/lib/nanoc/base/services/temp_filename_factory.rb +0 -52
@@ -43,9 +43,9 @@ module Nanoc::RuleDSL
|
|
43
43
|
# @return [Nanoc::Int::ActionSequence]
|
44
44
|
def [](obj)
|
45
45
|
case obj
|
46
|
-
when Nanoc::
|
46
|
+
when Nanoc::Core::ItemRep
|
47
47
|
new_action_sequence_for_rep(obj)
|
48
|
-
when Nanoc::
|
48
|
+
when Nanoc::Core::Layout
|
49
49
|
new_action_sequence_for_layout(obj)
|
50
50
|
else
|
51
51
|
raise UnsupportedObjectTypeException.new(obj)
|
@@ -66,7 +66,7 @@ module Nanoc::RuleDSL
|
|
66
66
|
recorder.snapshot(:raw)
|
67
67
|
rule.apply_to(rep, recorder: recorder, site: @site, view_context: view_context)
|
68
68
|
recorder.snapshot(:post) if recorder.any_layouts?
|
69
|
-
recorder.snapshot(:last)
|
69
|
+
recorder.snapshot(:last)
|
70
70
|
recorder.snapshot(:pre) unless recorder.pre_snapshot?
|
71
71
|
|
72
72
|
copy_paths_from_routing_rules(
|
@@ -76,7 +76,7 @@ module Nanoc::RuleDSL
|
|
76
76
|
)
|
77
77
|
end
|
78
78
|
|
79
|
-
# @param [Nanoc::
|
79
|
+
# @param [Nanoc::Core::Layout] layout
|
80
80
|
#
|
81
81
|
# @return [Nanoc::Int::ActionSequence]
|
82
82
|
def new_action_sequence_for_layout(layout)
|
@@ -86,7 +86,7 @@ module Nanoc::RuleDSL
|
|
86
86
|
raise NoActionSequenceForLayoutException.new(layout)
|
87
87
|
end
|
88
88
|
|
89
|
-
Nanoc::Int::
|
89
|
+
Nanoc::Int::ActionSequenceBuilder.build(layout) do |b|
|
90
90
|
b.add_filter(res[0], res[1])
|
91
91
|
end
|
92
92
|
end
|
@@ -94,7 +94,7 @@ module Nanoc::RuleDSL
|
|
94
94
|
def compact_snapshots(seq)
|
95
95
|
actions = []
|
96
96
|
seq.actions.each do |action|
|
97
|
-
if [actions.last, action].all? { |a| a.is_a?(Nanoc::
|
97
|
+
if [actions.last, action].all? { |a| a.is_a?(Nanoc::Core::ProcessingActions::Snapshot) }
|
98
98
|
actions[-1] = actions.last.update(snapshot_names: action.snapshot_names, paths: action.paths)
|
99
99
|
else
|
100
100
|
actions << action
|
@@ -108,7 +108,7 @@ module Nanoc::RuleDSL
|
|
108
108
|
|
109
109
|
seq.map do |action|
|
110
110
|
# Only potentially modify snapshot actions
|
111
|
-
next action unless action.is_a?(Nanoc::
|
111
|
+
next action unless action.is_a?(Nanoc::Core::ProcessingActions::Snapshot)
|
112
112
|
|
113
113
|
# If any of the action’s snapshot are explicitly marked as excluded from
|
114
114
|
# getting a path from a routing rule, then ignore routing rules.
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
4
|
class CompilationRule < Rule
|
5
|
-
include Nanoc::
|
5
|
+
include Nanoc::Core::ContractsSupport
|
6
6
|
|
7
|
-
contract Nanoc::
|
7
|
+
contract Nanoc::Core::ItemRep, C::KeywordArgs[
|
8
8
|
site: Nanoc::Int::Site,
|
9
9
|
recorder: Nanoc::RuleDSL::ActionRecorder,
|
10
10
|
view_context: Nanoc::ViewContextForPreCompilation,
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
4
|
class CompilationRuleContext < RuleContext
|
5
|
-
include Nanoc::
|
5
|
+
include Nanoc::Core::ContractsSupport
|
6
6
|
|
7
7
|
contract C::KeywordArgs[
|
8
|
-
rep: Nanoc::
|
8
|
+
rep: Nanoc::Core::ItemRep,
|
9
9
|
site: Nanoc::Int::Site,
|
10
10
|
recorder: Nanoc::RuleDSL::ActionRecorder,
|
11
11
|
view_context: Nanoc::ViewContextForPreCompilation,
|
@@ -16,10 +16,10 @@ module Nanoc::RuleDSL
|
|
16
16
|
super(rep: rep, site: site, view_context: view_context)
|
17
17
|
end
|
18
18
|
|
19
|
-
# Filters the current representation (calls {Nanoc::
|
19
|
+
# Filters the current representation (calls {Nanoc::Core::ItemRep#filter} with
|
20
20
|
# the given arguments on the rep).
|
21
21
|
#
|
22
|
-
# @see Nanoc::
|
22
|
+
# @see Nanoc::Core::ItemRep#filter
|
23
23
|
#
|
24
24
|
# @param [Symbol] filter_name The name of the filter to run the item
|
25
25
|
# representations' content through
|
@@ -32,10 +32,10 @@ module Nanoc::RuleDSL
|
|
32
32
|
@_recorder.filter(filter_name, filter_args)
|
33
33
|
end
|
34
34
|
|
35
|
-
# Layouts the current representation (calls {Nanoc::
|
35
|
+
# Layouts the current representation (calls {Nanoc::Core::ItemRep#layout} with
|
36
36
|
# the given arguments on the rep).
|
37
37
|
#
|
38
|
-
# @see Nanoc::
|
38
|
+
# @see Nanoc::Core::ItemRep#layout
|
39
39
|
#
|
40
40
|
# @param [String] layout_identifier The identifier of the layout the item
|
41
41
|
# should be laid out with
|
@@ -46,9 +46,9 @@ module Nanoc::RuleDSL
|
|
46
46
|
end
|
47
47
|
|
48
48
|
# Creates a snapshot of the current compiled item content. Calls
|
49
|
-
# {Nanoc::
|
49
|
+
# {Nanoc::Core::ItemRep#snapshot} with the given arguments on the rep.
|
50
50
|
#
|
51
|
-
# @see Nanoc::
|
51
|
+
# @see Nanoc::Core::ItemRep#snapshot
|
52
52
|
#
|
53
53
|
# @param [Symbol] snapshot_name The name of the snapshot to create
|
54
54
|
#
|
@@ -73,7 +73,7 @@ module Nanoc::RuleDSL
|
|
73
73
|
@_write_snapshot_counter += 1
|
74
74
|
|
75
75
|
case arg
|
76
|
-
when String, Nanoc::Identifier, nil
|
76
|
+
when String, Nanoc::Core::Identifier, nil
|
77
77
|
snapshot(snapshot_name, path: arg)
|
78
78
|
when Hash
|
79
79
|
if arg.key?(:ext)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
|
-
class CompilerDSL < Nanoc::
|
4
|
+
class CompilerDSL < Nanoc::Core::Context
|
5
5
|
# The current rules filename.
|
6
6
|
#
|
7
7
|
# @return [String] The current rules filename.
|
@@ -140,7 +140,7 @@ module Nanoc::RuleDSL
|
|
140
140
|
#
|
141
141
|
# layout '/custom/', :haml, :format => :html5
|
142
142
|
def layout(identifier, filter_name, params = {})
|
143
|
-
pattern = Nanoc::
|
143
|
+
pattern = Nanoc::Core::Pattern.from(create_pattern(identifier))
|
144
144
|
@rules_collection.layout_filter_mapping[pattern] = [filter_name, params]
|
145
145
|
end
|
146
146
|
|
@@ -254,9 +254,9 @@ module Nanoc::RuleDSL
|
|
254
254
|
def create_pattern(arg)
|
255
255
|
case @config[:string_pattern_type]
|
256
256
|
when 'glob'
|
257
|
-
Nanoc::
|
257
|
+
Nanoc::Core::Pattern.from(arg)
|
258
258
|
when 'legacy'
|
259
|
-
Nanoc::
|
259
|
+
Nanoc::Core::Pattern.from(identifier_to_regex(arg))
|
260
260
|
else
|
261
261
|
raise(
|
262
262
|
Nanoc::Int::Errors::GenericTrivial,
|
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
4
|
class RoutingRule < Rule
|
5
|
-
include Nanoc::
|
5
|
+
include Nanoc::Core::ContractsSupport
|
6
6
|
|
7
7
|
contract C::None => C::Maybe[Symbol]
|
8
8
|
attr_reader :snapshot_name
|
9
9
|
|
10
|
-
contract Nanoc::
|
10
|
+
contract Nanoc::Core::Pattern, Symbol, Proc, C::KeywordArgs[snapshot_name: C::Optional[Symbol]] => C::Any
|
11
11
|
def initialize(pattern, rep_name, block, snapshot_name: nil)
|
12
12
|
super(pattern, rep_name, block)
|
13
13
|
|
14
14
|
@snapshot_name = snapshot_name
|
15
15
|
end
|
16
16
|
|
17
|
-
contract Nanoc::
|
17
|
+
contract Nanoc::Core::ItemRep, C::KeywordArgs[
|
18
18
|
site: Nanoc::Int::Site,
|
19
19
|
view_context: Nanoc::ViewContextForPreCompilation,
|
20
20
|
] => C::Any
|
data/lib/nanoc/rule_dsl/rule.rb
CHANGED
@@ -2,28 +2,28 @@
|
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
4
|
class Rule
|
5
|
-
include Nanoc::
|
5
|
+
include Nanoc::Core::ContractsSupport
|
6
6
|
|
7
7
|
contract C::None => Symbol
|
8
8
|
attr_reader :rep_name
|
9
9
|
|
10
|
-
contract C::None => Nanoc::
|
10
|
+
contract C::None => Nanoc::Core::Pattern
|
11
11
|
attr_reader :pattern
|
12
12
|
|
13
|
-
contract Nanoc::
|
13
|
+
contract Nanoc::Core::Pattern, Symbol, Proc => C::Any
|
14
14
|
def initialize(pattern, rep_name, block)
|
15
15
|
@pattern = pattern
|
16
16
|
@rep_name = rep_name.to_sym
|
17
17
|
@block = block
|
18
18
|
end
|
19
19
|
|
20
|
-
contract Nanoc::
|
20
|
+
contract Nanoc::Core::Item => C::Bool
|
21
21
|
def applicable_to?(item)
|
22
22
|
@pattern.match?(item.identifier)
|
23
23
|
end
|
24
24
|
|
25
25
|
# @api private
|
26
|
-
contract Nanoc::Identifier => C::Or[nil, C::ArrayOf[String]]
|
26
|
+
contract Nanoc::Core::Identifier => C::Or[nil, C::ArrayOf[String]]
|
27
27
|
def matches(identifier)
|
28
28
|
@pattern.captures(identifier)
|
29
29
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Nanoc::RuleDSL
|
4
|
-
class RuleContext < Nanoc::
|
5
|
-
include Nanoc::
|
4
|
+
class RuleContext < Nanoc::Core::Context
|
5
|
+
include Nanoc::Core::ContractsSupport
|
6
6
|
|
7
7
|
contract C::KeywordArgs[
|
8
|
-
rep: Nanoc::
|
8
|
+
rep: Nanoc::Core::ItemRep,
|
9
9
|
site: Nanoc::Int::Site,
|
10
10
|
view_context: Nanoc::ViewContextForPreCompilation,
|
11
11
|
] => C::Any
|
@@ -54,7 +54,7 @@ module Nanoc::RuleDSL
|
|
54
54
|
@item_routing_rules << rule
|
55
55
|
end
|
56
56
|
|
57
|
-
# @param [Nanoc::
|
57
|
+
# @param [Nanoc::Core::Item] item The item for which the compilation rules
|
58
58
|
# should be retrieved
|
59
59
|
#
|
60
60
|
# @return [Array] The list of item compilation rules for the given item
|
@@ -65,7 +65,7 @@ module Nanoc::RuleDSL
|
|
65
65
|
# Finds the first matching compilation rule for the given item
|
66
66
|
# representation.
|
67
67
|
#
|
68
|
-
# @param [Nanoc::
|
68
|
+
# @param [Nanoc::Core::ItemRep] rep The item rep for which to fetch the rule
|
69
69
|
#
|
70
70
|
# @return [Nanoc::Int::Rule, nil] The compilation rule for the given item rep,
|
71
71
|
# or nil if no rules have been found
|
@@ -80,7 +80,7 @@ module Nanoc::RuleDSL
|
|
80
80
|
# returned. The result is a hash containing the corresponding rule for
|
81
81
|
# each snapshot.
|
82
82
|
#
|
83
|
-
# @param [Nanoc::
|
83
|
+
# @param [Nanoc::Core::ItemRep] rep The item rep for which to fetch the rules
|
84
84
|
#
|
85
85
|
# @return [Hash<Symbol, Nanoc::Int::Rule>] The routing rules for the given rep
|
86
86
|
def routing_rules_for(rep)
|
@@ -97,7 +97,7 @@ module Nanoc::RuleDSL
|
|
97
97
|
|
98
98
|
# Finds the filter name and arguments to use for the given layout.
|
99
99
|
#
|
100
|
-
# @param [Nanoc::
|
100
|
+
# @param [Nanoc::Core::Layout] layout The layout for which to fetch the filter.
|
101
101
|
#
|
102
102
|
# @return [Array, nil] A tuple containing the filter name and the filter
|
103
103
|
# arguments for the given layout.
|
data/lib/nanoc/spec.rb
CHANGED
@@ -58,12 +58,12 @@ module Nanoc
|
|
58
58
|
|
59
59
|
@erbout = +''
|
60
60
|
@action_sequence = {}
|
61
|
-
@config = Nanoc::
|
61
|
+
@config = Nanoc::Core::Configuration.new(dir: Dir.getwd).with_defaults
|
62
62
|
@reps = Nanoc::Int::ItemRepRepo.new
|
63
|
-
@items = Nanoc::
|
64
|
-
@layouts = Nanoc::
|
63
|
+
@items = Nanoc::Core::ItemCollection.new(@config)
|
64
|
+
@layouts = Nanoc::Core::LayoutCollection.new(@config)
|
65
65
|
@dependency_tracker = Nanoc::Int::DependencyTracker.new(Object.new)
|
66
|
-
@
|
66
|
+
@compiled_content_store = Nanoc::Int::CompiledContentStore.new
|
67
67
|
@action_provider = new_action_provider
|
68
68
|
end
|
69
69
|
|
@@ -73,11 +73,11 @@ module Nanoc
|
|
73
73
|
#
|
74
74
|
# @param [Hash] attributes A hash containing this item's attributes
|
75
75
|
#
|
76
|
-
# @param [Nanoc::Identifier, String] identifier This item's identifier
|
76
|
+
# @param [Nanoc::Core::Identifier, String] identifier This item's identifier
|
77
77
|
#
|
78
78
|
# @return [Nanoc::CompilationItemView] A view for the newly created item
|
79
79
|
def create_item(content, attributes, identifier)
|
80
|
-
item = Nanoc::
|
80
|
+
item = Nanoc::Core::Item.new(content, attributes, identifier)
|
81
81
|
@items = @items.add(item)
|
82
82
|
self
|
83
83
|
end
|
@@ -88,11 +88,11 @@ module Nanoc
|
|
88
88
|
#
|
89
89
|
# @param [Hash] attributes A hash containing this layout's attributes
|
90
90
|
#
|
91
|
-
# @param [Nanoc::Identifier, String] identifier This layout's identifier
|
91
|
+
# @param [Nanoc::Core::Identifier, String] identifier This layout's identifier
|
92
92
|
#
|
93
93
|
# @return [Nanoc::CompilationItemView] A view for the newly created layout
|
94
94
|
def create_layout(content, attributes, identifier)
|
95
|
-
layout = Nanoc::
|
95
|
+
layout = Nanoc::Core::Layout.new(content, attributes, identifier)
|
96
96
|
@layouts = @layouts.add(layout)
|
97
97
|
self
|
98
98
|
end
|
@@ -104,7 +104,7 @@ module Nanoc
|
|
104
104
|
# @param [String] path The path of the `:last` snapshot of this item representation
|
105
105
|
# @param [Symbol] rep The rep name to create
|
106
106
|
def create_rep(item, path, rep = :default)
|
107
|
-
rep = Nanoc::
|
107
|
+
rep = Nanoc::Core::ItemRep.new(item._unwrap, rep)
|
108
108
|
rep.paths[:last] = [path]
|
109
109
|
@reps << rep
|
110
110
|
self
|
@@ -113,7 +113,7 @@ module Nanoc
|
|
113
113
|
# @return [Object] An object that includes the helper functions
|
114
114
|
def helper
|
115
115
|
mod = @mod
|
116
|
-
klass = Class.new(Nanoc::
|
116
|
+
klass = Class.new(Nanoc::Core::Context) { include mod }
|
117
117
|
klass.new(assigns)
|
118
118
|
end
|
119
119
|
|
@@ -158,8 +158,8 @@ module Nanoc
|
|
158
158
|
@action_sequence[obj] = memory
|
159
159
|
end
|
160
160
|
|
161
|
-
def
|
162
|
-
view_context.
|
161
|
+
def compiled_content_store
|
162
|
+
view_context.compiled_content_store
|
163
163
|
end
|
164
164
|
|
165
165
|
private
|
@@ -171,7 +171,7 @@ module Nanoc
|
|
171
171
|
reps: @reps,
|
172
172
|
site: @site,
|
173
173
|
compiled_content_cache: :__compiled_content_cache,
|
174
|
-
|
174
|
+
compiled_content_store: @compiled_content_store,
|
175
175
|
)
|
176
176
|
|
177
177
|
Nanoc::ViewContextForCompilation.new(
|
@@ -179,7 +179,7 @@ module Nanoc
|
|
179
179
|
items: @items,
|
180
180
|
dependency_tracker: @dependency_tracker,
|
181
181
|
compilation_context: compilation_context,
|
182
|
-
|
182
|
+
compiled_content_store: @compiled_content_store,
|
183
183
|
)
|
184
184
|
end
|
185
185
|
|
@@ -202,7 +202,7 @@ module Nanoc
|
|
202
202
|
end
|
203
203
|
|
204
204
|
def snapshots_defs_for(_rep)
|
205
|
-
[Nanoc::
|
205
|
+
[Nanoc::Core::SnapshotDef.new(:last, binary: false)]
|
206
206
|
end
|
207
207
|
end.new(self)
|
208
208
|
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.1
|
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: 2019-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -39,75 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.15'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: nanoc-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
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'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: ddmetrics
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: ddplugin
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
45
|
+
- - '='
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
47
|
+
version: 4.11.1
|
76
48
|
type: :runtime
|
77
49
|
prerelease: false
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
79
51
|
requirements:
|
80
|
-
- -
|
52
|
+
- - '='
|
81
53
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: hamster
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '3.0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: json_schema
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0.19'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.19'
|
54
|
+
version: 4.11.1
|
111
55
|
- !ruby/object:Gem::Dependency
|
112
56
|
name: parallel
|
113
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,20 +66,6 @@ dependencies:
|
|
122
66
|
- - "~>"
|
123
67
|
- !ruby/object:Gem::Version
|
124
68
|
version: '1.12'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: ref
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '2.0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '2.0'
|
139
69
|
- !ruby/object:Gem::Dependency
|
140
70
|
name: slow_enumerator_tools
|
141
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,41 +112,14 @@ files:
|
|
182
112
|
- lib/nanoc/base.rb
|
183
113
|
- lib/nanoc/base/assertions.rb
|
184
114
|
- lib/nanoc/base/changes_stream.rb
|
185
|
-
- lib/nanoc/base/contracts_support.rb
|
186
|
-
- lib/nanoc/base/core_ext.rb
|
187
|
-
- lib/nanoc/base/core_ext/array.rb
|
188
|
-
- lib/nanoc/base/core_ext/hash.rb
|
189
|
-
- lib/nanoc/base/core_ext/string.rb
|
190
115
|
- lib/nanoc/base/entities.rb
|
191
116
|
- lib/nanoc/base/entities/action_sequence.rb
|
192
117
|
- lib/nanoc/base/entities/checksum_collection.rb
|
193
|
-
- lib/nanoc/base/entities/code_snippet.rb
|
194
|
-
- lib/nanoc/base/entities/configuration-schema.json
|
195
|
-
- lib/nanoc/base/entities/configuration.rb
|
196
|
-
- lib/nanoc/base/entities/content.rb
|
197
|
-
- lib/nanoc/base/entities/context.rb
|
198
118
|
- lib/nanoc/base/entities/dependency.rb
|
199
|
-
- lib/nanoc/base/entities/directed_graph.rb
|
200
|
-
- lib/nanoc/base/entities/document.rb
|
201
|
-
- lib/nanoc/base/entities/identifiable_collection.rb
|
202
|
-
- lib/nanoc/base/entities/identifier.rb
|
203
|
-
- lib/nanoc/base/entities/item.rb
|
204
|
-
- lib/nanoc/base/entities/item_collection.rb
|
205
|
-
- lib/nanoc/base/entities/item_rep.rb
|
206
|
-
- lib/nanoc/base/entities/layout.rb
|
207
|
-
- lib/nanoc/base/entities/layout_collection.rb
|
208
|
-
- lib/nanoc/base/entities/lazy_value.rb
|
209
119
|
- lib/nanoc/base/entities/outdatedness_reasons.rb
|
210
120
|
- lib/nanoc/base/entities/outdatedness_status.rb
|
211
|
-
- lib/nanoc/base/entities/pattern.rb
|
212
|
-
- lib/nanoc/base/entities/processing_action.rb
|
213
|
-
- lib/nanoc/base/entities/processing_actions.rb
|
214
|
-
- lib/nanoc/base/entities/processing_actions/filter.rb
|
215
|
-
- lib/nanoc/base/entities/processing_actions/layout.rb
|
216
|
-
- lib/nanoc/base/entities/processing_actions/snapshot.rb
|
217
121
|
- lib/nanoc/base/entities/props.rb
|
218
122
|
- lib/nanoc/base/entities/site.rb
|
219
|
-
- lib/nanoc/base/entities/snapshot_def.rb
|
220
123
|
- lib/nanoc/base/error.rb
|
221
124
|
- lib/nanoc/base/errors.rb
|
222
125
|
- lib/nanoc/base/feature.rb
|
@@ -225,26 +128,25 @@ files:
|
|
225
128
|
- lib/nanoc/base/repos/aggregate_data_source.rb
|
226
129
|
- lib/nanoc/base/repos/checksum_store.rb
|
227
130
|
- lib/nanoc/base/repos/compiled_content_cache.rb
|
131
|
+
- lib/nanoc/base/repos/compiled_content_store.rb
|
228
132
|
- lib/nanoc/base/repos/config_loader.rb
|
229
|
-
- lib/nanoc/base/repos/data_source.rb
|
230
133
|
- lib/nanoc/base/repos/dependency_store.rb
|
231
134
|
- lib/nanoc/base/repos/in_mem_data_source.rb
|
232
135
|
- lib/nanoc/base/repos/item_rep_repo.rb
|
233
136
|
- lib/nanoc/base/repos/outdatedness_store.rb
|
234
137
|
- lib/nanoc/base/repos/prefixed_data_source.rb
|
235
138
|
- lib/nanoc/base/repos/site_loader.rb
|
236
|
-
- lib/nanoc/base/repos/snapshot_repo.rb
|
237
139
|
- lib/nanoc/base/repos/store.rb
|
238
140
|
- lib/nanoc/base/services.rb
|
239
141
|
- lib/nanoc/base/services/action_provider.rb
|
240
142
|
- lib/nanoc/base/services/action_sequence_builder.rb
|
241
|
-
- lib/nanoc/base/services/checksummer.rb
|
242
143
|
- lib/nanoc/base/services/compilation_context.rb
|
243
144
|
- lib/nanoc/base/services/compiler.rb
|
244
145
|
- lib/nanoc/base/services/compiler/phases.rb
|
245
146
|
- lib/nanoc/base/services/compiler/phases/abstract.rb
|
246
147
|
- lib/nanoc/base/services/compiler/phases/cache.rb
|
247
148
|
- lib/nanoc/base/services/compiler/phases/mark_done.rb
|
149
|
+
- lib/nanoc/base/services/compiler/phases/notify.rb
|
248
150
|
- lib/nanoc/base/services/compiler/phases/recalculate.rb
|
249
151
|
- lib/nanoc/base/services/compiler/phases/resume.rb
|
250
152
|
- lib/nanoc/base/services/compiler/phases/write.rb
|
@@ -271,7 +173,6 @@ files:
|
|
271
173
|
- lib/nanoc/base/services/item_rep_router.rb
|
272
174
|
- lib/nanoc/base/services/item_rep_selector.rb
|
273
175
|
- lib/nanoc/base/services/item_rep_writer.rb
|
274
|
-
- lib/nanoc/base/services/notification_center.rb
|
275
176
|
- lib/nanoc/base/services/outdatedness_checker.rb
|
276
177
|
- lib/nanoc/base/services/outdatedness_rule.rb
|
277
178
|
- lib/nanoc/base/services/outdatedness_rules.rb
|
@@ -284,7 +185,6 @@ files:
|
|
284
185
|
- lib/nanoc/base/services/outdatedness_rules/rules_modified.rb
|
285
186
|
- lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb
|
286
187
|
- lib/nanoc/base/services/pruner.rb
|
287
|
-
- lib/nanoc/base/services/temp_filename_factory.rb
|
288
188
|
- lib/nanoc/base/views.rb
|
289
189
|
- lib/nanoc/base/views/basic_item_rep_collection_view.rb
|
290
190
|
- lib/nanoc/base/views/basic_item_rep_view.rb
|
@@ -454,8 +354,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
454
354
|
- !ruby/object:Gem::Version
|
455
355
|
version: '0'
|
456
356
|
requirements: []
|
457
|
-
|
458
|
-
rubygems_version: 2.7.8
|
357
|
+
rubygems_version: 3.0.2
|
459
358
|
signing_key:
|
460
359
|
specification_version: 4
|
461
360
|
summary: A static-site generator with a focus on flexibility.
|