nanoc 4.12.21 → 4.13.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 +20 -0
- data/lib/nanoc/data_sources/filesystem/parser.rb +2 -2
- data/lib/nanoc/data_sources/filesystem/tools.rb +1 -1
- data/lib/nanoc/data_sources/filesystem.rb +3 -3
- data/lib/nanoc/extra/srcset_parser.rb +1 -1
- 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/less.rb +1 -1
- data/lib/nanoc/filters/sass.rb +2 -2
- data/lib/nanoc/helpers/breadcrumbs.rb +2 -2
- data/lib/nanoc/helpers/capturing.rb +4 -4
- data/lib/nanoc/orig_cli/commands/show-rules.rb +2 -2
- data/lib/nanoc/rule_dsl/action_provider.rb +4 -4
- data/lib/nanoc/rule_dsl/action_sequence_calculator.rb +5 -5
- data/lib/nanoc/rule_dsl/compilation_rule.rb +4 -4
- data/lib/nanoc/rule_dsl/compilation_rule_context.rb +3 -3
- data/lib/nanoc/rule_dsl/compiler_dsl.rb +1 -1
- data/lib/nanoc/rule_dsl/routing_rule.rb +1 -1
- data/lib/nanoc/version.rb +1 -1
- metadata +9 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bb791b5de67044d256948c55f43367018ccedeb8944804a7db504ec91d594ea2
         | 
| 4 | 
            +
              data.tar.gz: 677d9977396024531624b6ee797e9488ff1d1319489961438947ef71b8ac7e98
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7c2eda52973be5e964da94b267239a8a8ffef6da019ed123a3bbe4b5dafbf0fbc90a1a7e198ded11d7192c19e91ce2b47adc3321eb83362d6d39579bb0aba2c4
         | 
| 7 | 
            +
              data.tar.gz: b740135f6f69866ff620bfd2552aa490062e2b6f3aa59fd2459391d9d591962401529aafd7881a42191039631e435493b497d6022736dfd79a480e7a4bb10ab9
         | 
    
        data/NEWS.md
    CHANGED
    
    | @@ -1,5 +1,25 @@ | |
| 1 1 | 
             
            # Nanoc news
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 4.13.1 (2024-11-04)
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Enhancements:
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            - Dropped explicit dependency on `psych`, simplifying usage on Windows (#1712, #1713)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ## 4.13.0 (2024-06-19)
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            Features:
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            - Added `--focus` option to the `compile` and `live` commands (#1707)
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            Fixes:
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            - Made `delete` log lines use relative (not absolute) paths (#1706)
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            Changes:
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            - Dropped support for Ruby 3.0 (EOL) (#1704)
         | 
| 22 | 
            +
             | 
| 3 23 | 
             
            ## 4.12.21 (2024-04-27)
         | 
| 4 24 |  | 
| 5 25 | 
             
            Fixes:
         | 
| @@ -35,7 +35,7 @@ class Nanoc::DataSources::Filesystem | |
| 35 35 | 
             
                  content = content_filename ? Tools.read_file(content_filename, config: @config) : ''
         | 
| 36 36 | 
             
                  meta_raw = Tools.read_file(meta_filename, config: @config)
         | 
| 37 37 | 
             
                  meta = parse_metadata(meta_raw, meta_filename)
         | 
| 38 | 
            -
                  ParseResult.new(content | 
| 38 | 
            +
                  ParseResult.new(content:, attributes: meta, attributes_data: meta_raw)
         | 
| 39 39 | 
             
                end
         | 
| 40 40 |  | 
| 41 41 | 
             
                # @return [ParseResult]
         | 
| @@ -54,7 +54,7 @@ class Nanoc::DataSources::Filesystem | |
| 54 54 | 
             
                  meta = parse_metadata(pieces[2], content_filename)
         | 
| 55 55 | 
             
                  content = pieces[4].sub(/\A\n/, '')
         | 
| 56 56 |  | 
| 57 | 
            -
                  ParseResult.new(content | 
| 57 | 
            +
                  ParseResult.new(content:, attributes: meta, attributes_data: pieces[2])
         | 
| 58 58 | 
             
                end
         | 
| 59 59 |  | 
| 60 60 | 
             
                # @return [Hash]
         | 
| @@ -141,7 +141,7 @@ class Nanoc::DataSources::Filesystem < Nanoc::DataSource | |
| 141 141 | 
             
                #   detected (something other than file, directory or link)
         | 
| 142 142 | 
             
                def resolve_symlink(filename, recursion_limit = 5)
         | 
| 143 143 | 
             
                  target = File.readlink(filename)
         | 
| 144 | 
            -
                  absolute_target =  | 
| 144 | 
            +
                  absolute_target = Nanoc::Core::Utils.expand_path_without_drive_identifier(target, File.dirname(filename))
         | 
| 145 145 |  | 
| 146 146 | 
             
                  case File.ftype(absolute_target)
         | 
| 147 147 | 
             
                  when 'link'
         | 
| @@ -248,8 +248,8 @@ module Nanoc::DataSources | |
| 248 248 | 
             
                def extra_attributes_for(content_filename, meta_filename)
         | 
| 249 249 | 
             
                  {
         | 
| 250 250 | 
             
                    filename: content_filename,
         | 
| 251 | 
            -
                    content_filename | 
| 252 | 
            -
                    meta_filename | 
| 251 | 
            +
                    content_filename:,
         | 
| 252 | 
            +
                    meta_filename:,
         | 
| 253 253 | 
             
                    extension: content_filename ? ext_of(content_filename)[1..] : nil,
         | 
| 254 254 | 
             
                    mtime: mtime_of(content_filename, meta_filename),
         | 
| 255 255 | 
             
                  }
         | 
| @@ -407,7 +407,7 @@ module Nanoc::DataSources | |
| 407 407 | 
             
                end
         | 
| 408 408 |  | 
| 409 409 | 
             
                def parser
         | 
| 410 | 
            -
                  @ | 
| 410 | 
            +
                  @_parser ||= Parser.new(config: @config)
         | 
| 411 411 | 
             
                end
         | 
| 412 412 |  | 
| 413 413 | 
             
                def parse(content_filename, meta_filename)
         | 
    
        data/lib/nanoc/filters/erb.rb
    CHANGED
    
    
    
        data/lib/nanoc/filters/erubi.rb
    CHANGED
    
    | @@ -23,7 +23,7 @@ module Nanoc::Filters | |
| 23 23 | 
             
                  assigns_binding = context.get_binding(&proc)
         | 
| 24 24 |  | 
| 25 25 | 
             
                  # Get result
         | 
| 26 | 
            -
                  engine_opts = { bufvar: '_erbout', filename:  | 
| 26 | 
            +
                  engine_opts = { bufvar: '_erbout', filename: }.merge(params)
         | 
| 27 27 | 
             
                  engine = ::Erubi::Engine.new(content, engine_opts)
         | 
| 28 28 | 
             
                  eval(engine.src, assigns_binding, filename)
         | 
| 29 29 | 
             
                end
         | 
    
        data/lib/nanoc/filters/erubis.rb
    CHANGED
    
    
    
        data/lib/nanoc/filters/haml.rb
    CHANGED
    
    | @@ -15,7 +15,7 @@ module Nanoc::Filters | |
| 15 15 | 
             
                # @return [String] The filtered content
         | 
| 16 16 | 
             
                def run(content, params = {})
         | 
| 17 17 | 
             
                  # Get options
         | 
| 18 | 
            -
                  options = params.merge(filename: | 
| 18 | 
            +
                  options = params.merge(filename:)
         | 
| 19 19 |  | 
| 20 20 | 
             
                  # Create context
         | 
| 21 21 | 
             
                  context = ::Nanoc::Core::Context.new(assigns)
         | 
    
        data/lib/nanoc/filters/less.rb
    CHANGED
    
    | @@ -22,7 +22,7 @@ module Nanoc::Filters | |
| 22 22 | 
             
                  # Add filename to load path
         | 
| 23 23 | 
             
                  paths = [File.dirname(@item[:content_filename])]
         | 
| 24 24 | 
             
                  on_main_fiber do
         | 
| 25 | 
            -
                    parser = ::Less::Parser.new(paths: | 
| 25 | 
            +
                    parser = ::Less::Parser.new(paths:)
         | 
| 26 26 | 
             
                    parser.parse(content).to_css(params)
         | 
| 27 27 | 
             
                  end
         | 
| 28 28 | 
             
                end
         | 
    
        data/lib/nanoc/filters/sass.rb
    CHANGED
    
    | @@ -21,7 +21,7 @@ module Nanoc::Filters | |
| 21 21 |  | 
| 22 22 | 
             
                  options = params.merge(
         | 
| 23 23 | 
             
                    load_paths: [importer, *params[:load_paths]&.reject { |p| p.is_a?(String) && %r{^content/} =~ p }],
         | 
| 24 | 
            -
                    importer | 
| 24 | 
            +
                    importer:,
         | 
| 25 25 | 
             
                    filename: rep.item.identifier.to_s,
         | 
| 26 26 | 
             
                    cache: false,
         | 
| 27 27 | 
             
                  )
         | 
| @@ -40,7 +40,7 @@ module Nanoc::Filters | |
| 40 40 | 
             
                    encoded = "data:application/json;base64,#{Base64.urlsafe_encode64(sourcemap)}"
         | 
| 41 41 | 
             
                    [css.gsub(%r{^/\*#\s+sourceMappingURL=\s*#{sourcemap_path}\s*\*/$}, "/*# sourceMappingURL=#{encoded} */")]
         | 
| 42 42 | 
             
                  else
         | 
| 43 | 
            -
                    sourcemap = sourcemap&.to_json(css_path | 
| 43 | 
            +
                    sourcemap = sourcemap&.to_json(css_path:, sourcemap_path:, type: params[:sources_content] ? :inline : :auto)
         | 
| 44 44 | 
             
                    sourcemap = sourcemap&.split("\n")&.reject { |l| l =~ /^\s*"file":\s*"#{filter.object_id}"\s*$/ }&.join("\n")
         | 
| 45 45 | 
             
                    [css, sourcemap]
         | 
| 46 46 | 
             
                  end
         | 
| @@ -33,12 +33,12 @@ module Nanoc::Helpers | |
| 33 33 |  | 
| 34 34 | 
             
                  # e.g. unfold(10.class, &:superclass)
         | 
| 35 35 | 
             
                  # => [Integer, Numeric, Object, BasicObject]
         | 
| 36 | 
            -
                  def self.unfold(obj, & | 
| 36 | 
            +
                  def self.unfold(obj, &)
         | 
| 37 37 | 
             
                    acc = [obj]
         | 
| 38 38 |  | 
| 39 39 | 
             
                    res = yield(obj)
         | 
| 40 40 | 
             
                    if res
         | 
| 41 | 
            -
                      acc + unfold(res, & | 
| 41 | 
            +
                      acc + unfold(res, &)
         | 
| 42 42 | 
             
                    else
         | 
| 43 43 | 
             
                      acc
         | 
| 44 44 | 
             
                    end
         | 
| @@ -13,11 +13,11 @@ module Nanoc::Helpers | |
| 13 13 | 
             
                    @item = item
         | 
| 14 14 | 
             
                  end
         | 
| 15 15 |  | 
| 16 | 
            -
                  def run(& | 
| 16 | 
            +
                  def run(&)
         | 
| 17 17 | 
             
                    existing_behavior = @params.fetch(:existing, :error)
         | 
| 18 18 |  | 
| 19 19 | 
             
                    # Capture
         | 
| 20 | 
            -
                    content_string = capture(& | 
| 20 | 
            +
                    content_string = capture(&)
         | 
| 21 21 |  | 
| 22 22 | 
             
                    # Get existing contents and prep for store
         | 
| 23 23 | 
             
                    compiled_content_store = @item._context.compiled_content_store
         | 
| @@ -102,7 +102,7 @@ module Nanoc::Helpers | |
| 102 102 | 
             
                # @overload content_for(item, name)
         | 
| 103 103 | 
             
                #   @param [Symbol, String] name
         | 
| 104 104 | 
             
                #   @return [String]
         | 
| 105 | 
            -
                def content_for(*args, & | 
| 105 | 
            +
                def content_for(*args, &)
         | 
| 106 106 | 
             
                  if block_given? # Set content
         | 
| 107 107 | 
             
                    name = args[0]
         | 
| 108 108 | 
             
                    params =
         | 
| @@ -116,7 +116,7 @@ module Nanoc::Helpers | |
| 116 116 | 
             
                          "of the capture, and optionally params) but got #{args.size} instead"
         | 
| 117 117 | 
             
                      end
         | 
| 118 118 |  | 
| 119 | 
            -
                    SetContent.new(name, params, @item).run(& | 
| 119 | 
            +
                    SetContent.new(name, params, @item).run(&)
         | 
| 120 120 | 
             
                  elsif args.size > 1 && (args.first.is_a?(Symbol) || args.first.is_a?(String)) # Set content
         | 
| 121 121 | 
             
                    name = args[0]
         | 
| 122 122 | 
             
                    content = args.last
         | 
| @@ -22,8 +22,8 @@ module Nanoc::OrigCLI::Commands | |
| 22 22 | 
             
                  items = site.items.sort_by(&:identifier)
         | 
| 23 23 | 
             
                  layouts = site.layouts.sort_by(&:identifier)
         | 
| 24 24 |  | 
| 25 | 
            -
                  items.each   { |e| explain_item(e, rules | 
| 26 | 
            -
                  layouts.each { |e| explain_layout(e, rules: | 
| 25 | 
            +
                  items.each   { |e| explain_item(e, rules:, reps:) }
         | 
| 26 | 
            +
                  layouts.each { |e| explain_layout(e, rules:) }
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 29 | 
             
                def explain_item(item, rules:, reps:)
         | 
| @@ -12,7 +12,7 @@ module Nanoc::RuleDSL | |
| 12 12 |  | 
| 13 13 | 
             
                  action_sequence_calculator =
         | 
| 14 14 | 
             
                    Nanoc::RuleDSL::ActionSequenceCalculator.new(
         | 
| 15 | 
            -
                      rules_collection | 
| 15 | 
            +
                      rules_collection:, site:,
         | 
| 16 16 | 
             
                    )
         | 
| 17 17 |  | 
| 18 18 | 
             
                  action_provider = new(rules_collection, action_sequence_calculator)
         | 
| @@ -61,10 +61,10 @@ module Nanoc::RuleDSL | |
| 61 61 |  | 
| 62 62 | 
             
                  view_context =
         | 
| 63 63 | 
             
                    Nanoc::Core::ViewContextForCompilation.new(
         | 
| 64 | 
            -
                      reps | 
| 64 | 
            +
                      reps:,
         | 
| 65 65 | 
             
                      items: site.items,
         | 
| 66 | 
            -
                      dependency_tracker | 
| 67 | 
            -
                      compilation_context: compiler.compilation_context(reps: | 
| 66 | 
            +
                      dependency_tracker:,
         | 
| 67 | 
            +
                      compilation_context: compiler.compilation_context(reps:),
         | 
| 68 68 | 
             
                      compiled_content_store: Nanoc::Core::CompiledContentStore.new,
         | 
| 69 69 | 
             
                    )
         | 
| 70 70 | 
             
                  ctx = new_postprocessor_context(site, view_context)
         | 
| @@ -62,7 +62,7 @@ module Nanoc::RuleDSL | |
| 62 62 | 
             
                  end
         | 
| 63 63 |  | 
| 64 64 | 
             
                  recorder.snapshot(:raw)
         | 
| 65 | 
            -
                  rule.apply_to(rep, recorder | 
| 65 | 
            +
                  rule.apply_to(rep, recorder:, site: @site, view_context:)
         | 
| 66 66 | 
             
                  recorder.snapshot(:post) if recorder.any_layouts?
         | 
| 67 67 | 
             
                  recorder.snapshot(:last)
         | 
| 68 68 | 
             
                  recorder.snapshot(:pre) unless recorder.pre_snapshot?
         | 
| @@ -70,7 +70,7 @@ module Nanoc::RuleDSL | |
| 70 70 | 
             
                  copy_paths_from_routing_rules(
         | 
| 71 71 | 
             
                    compact_snapshots(recorder.action_sequence),
         | 
| 72 72 | 
             
                    recorder.snapshots_for_which_to_skip_routing_rule,
         | 
| 73 | 
            -
                    rep | 
| 73 | 
            +
                    rep:,
         | 
| 74 74 | 
             
                  )
         | 
| 75 75 | 
             
                end
         | 
| 76 76 |  | 
| @@ -98,7 +98,7 @@ module Nanoc::RuleDSL | |
| 98 98 | 
             
                      actions << action
         | 
| 99 99 | 
             
                    end
         | 
| 100 100 | 
             
                  end
         | 
| 101 | 
            -
                  Nanoc::Core::ActionSequence.new(actions: | 
| 101 | 
            +
                  Nanoc::Core::ActionSequence.new(actions:)
         | 
| 102 102 | 
             
                end
         | 
| 103 103 |  | 
| 104 104 | 
             
                def copy_paths_from_routing_rules(seq, snapshots_for_which_to_skip_routing_rule, rep:)
         | 
| @@ -119,7 +119,7 @@ module Nanoc::RuleDSL | |
| 119 119 | 
             
                    # For each snapshot name, find a path from a routing rule. The routing
         | 
| 120 120 | 
             
                    # rule might return nil, so we need #compact.
         | 
| 121 121 | 
             
                    paths = action.snapshot_names.map { |sn| basic_path_from_rules_for(rep, sn) }.compact
         | 
| 122 | 
            -
                    action.update(snapshot_names: [], paths: | 
| 122 | 
            +
                    action.update(snapshot_names: [], paths:)
         | 
| 123 123 | 
             
                  end
         | 
| 124 124 | 
             
                end
         | 
| 125 125 |  | 
| @@ -136,7 +136,7 @@ module Nanoc::RuleDSL | |
| 136 136 | 
             
                    routing_rule.apply_to(
         | 
| 137 137 | 
             
                      rep,
         | 
| 138 138 | 
             
                      site: @site,
         | 
| 139 | 
            -
                      view_context | 
| 139 | 
            +
                      view_context:,
         | 
| 140 140 | 
             
                    )
         | 
| 141 141 |  | 
| 142 142 | 
             
                  if basic_path && !basic_path.start_with?('/')
         | 
| @@ -11,10 +11,10 @@ module Nanoc::RuleDSL | |
| 11 11 | 
             
                ] => C::Any
         | 
| 12 12 | 
             
                def apply_to(rep, site:, recorder:, view_context:)
         | 
| 13 13 | 
             
                  context = Nanoc::RuleDSL::CompilationRuleContext.new(
         | 
| 14 | 
            -
                    rep | 
| 15 | 
            -
                    recorder | 
| 16 | 
            -
                    site | 
| 17 | 
            -
                    view_context | 
| 14 | 
            +
                    rep:,
         | 
| 15 | 
            +
                    recorder:,
         | 
| 16 | 
            +
                    site:,
         | 
| 17 | 
            +
                    view_context:,
         | 
| 18 18 | 
             
                  )
         | 
| 19 19 |  | 
| 20 20 | 
             
                  context.instance_exec(matches(rep.item.identifier), &@block)
         | 
| @@ -13,7 +13,7 @@ module Nanoc::RuleDSL | |
| 13 13 | 
             
                def initialize(rep:, site:, recorder:, view_context:)
         | 
| 14 14 | 
             
                  @_recorder = recorder
         | 
| 15 15 |  | 
| 16 | 
            -
                  super(rep | 
| 16 | 
            +
                  super(rep:, site:, view_context:)
         | 
| 17 17 | 
             
                end
         | 
| 18 18 |  | 
| 19 19 | 
             
                # Filters the current representation (calls {Nanoc::Core::ItemRep#filter} with
         | 
| @@ -56,7 +56,7 @@ module Nanoc::RuleDSL | |
| 56 56 | 
             
                #
         | 
| 57 57 | 
             
                # @return [void]
         | 
| 58 58 | 
             
                def snapshot(snapshot_name, path: Nanoc::Core::UNDEFINED)
         | 
| 59 | 
            -
                  @_recorder.snapshot(snapshot_name, path: | 
| 59 | 
            +
                  @_recorder.snapshot(snapshot_name, path:)
         | 
| 60 60 | 
             
                end
         | 
| 61 61 |  | 
| 62 62 | 
             
                # Creates a snapshot named :last the current compiled item content, with
         | 
| @@ -79,7 +79,7 @@ module Nanoc::RuleDSL | |
| 79 79 | 
             
                    if arg.key?(:ext)
         | 
| 80 80 | 
             
                      ext = arg[:ext].sub(/\A\./, '')
         | 
| 81 81 | 
             
                      path = @item.identifier.without_exts + '.' + ext
         | 
| 82 | 
            -
                      snapshot(snapshot_name, path: | 
| 82 | 
            +
                      snapshot(snapshot_name, path:)
         | 
| 83 83 | 
             
                    else
         | 
| 84 84 | 
             
                      raise ArgumentError, 'Cannot call #write this way (need path or :ext)'
         | 
| 85 85 | 
             
                    end
         | 
| @@ -20,7 +20,7 @@ module Nanoc::RuleDSL | |
| 20 20 | 
             
                def initialize(rules_collection, config)
         | 
| 21 21 | 
             
                  @rules_collection = rules_collection
         | 
| 22 22 | 
             
                  @config = config
         | 
| 23 | 
            -
                  super({ config:  | 
| 23 | 
            +
                  super({ config: })
         | 
| 24 24 | 
             
                end
         | 
| 25 25 |  | 
| 26 26 | 
             
                # Creates a preprocessor block that will be executed after all data is
         | 
| @@ -20,7 +20,7 @@ module Nanoc::RuleDSL | |
| 20 20 | 
             
                ] => C::Any
         | 
| 21 21 | 
             
                def apply_to(rep, site:, view_context:)
         | 
| 22 22 | 
             
                  context = Nanoc::RuleDSL::RoutingRuleContext.new(
         | 
| 23 | 
            -
                    rep | 
| 23 | 
            +
                    rep:, site:, view_context:,
         | 
| 24 24 | 
             
                  )
         | 
| 25 25 |  | 
| 26 26 | 
             
                  context.instance_exec(matches(rep.item.identifier), &@block)
         | 
    
        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. | 
| 4 | 
            +
              version: 4.13.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: 2024-04 | 
| 11 | 
            +
            date: 2024-11-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: addressable
         | 
| @@ -64,28 +64,28 @@ dependencies: | |
| 64 64 | 
             
                requirements:
         | 
| 65 65 | 
             
                - - '='
         | 
| 66 66 | 
             
                  - !ruby/object:Gem::Version
         | 
| 67 | 
            -
                    version: 4. | 
| 67 | 
            +
                    version: 4.13.1
         | 
| 68 68 | 
             
              type: :runtime
         | 
| 69 69 | 
             
              prerelease: false
         | 
| 70 70 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 71 71 | 
             
                requirements:
         | 
| 72 72 | 
             
                - - '='
         | 
| 73 73 | 
             
                  - !ruby/object:Gem::Version
         | 
| 74 | 
            -
                    version: 4. | 
| 74 | 
            +
                    version: 4.13.1
         | 
| 75 75 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 76 76 | 
             
              name: nanoc-core
         | 
| 77 77 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 78 | 
             
                requirements:
         | 
| 79 79 | 
             
                - - '='
         | 
| 80 80 | 
             
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: 4. | 
| 81 | 
            +
                    version: 4.13.1
         | 
| 82 82 | 
             
              type: :runtime
         | 
| 83 83 | 
             
              prerelease: false
         | 
| 84 84 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 85 85 | 
             
                requirements:
         | 
| 86 86 | 
             
                - - '='
         | 
| 87 87 | 
             
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            -
                    version: 4. | 
| 88 | 
            +
                    version: 4.13.1
         | 
| 89 89 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 90 90 | 
             
              name: nanoc-deploying
         | 
| 91 91 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -233,7 +233,7 @@ licenses: | |
| 233 233 | 
             
            - MIT
         | 
| 234 234 | 
             
            metadata:
         | 
| 235 235 | 
             
              rubygems_mfa_required: 'true'
         | 
| 236 | 
            -
              source_code_uri: https://github.com/nanoc/nanoc/tree/4. | 
| 236 | 
            +
              source_code_uri: https://github.com/nanoc/nanoc/tree/4.13.1/nanoc
         | 
| 237 237 | 
             
            post_install_message:
         | 
| 238 238 | 
             
            rdoc_options: []
         | 
| 239 239 | 
             
            require_paths:
         | 
| @@ -242,14 +242,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 242 242 | 
             
              requirements:
         | 
| 243 243 | 
             
              - - ">="
         | 
| 244 244 | 
             
                - !ruby/object:Gem::Version
         | 
| 245 | 
            -
                  version: ' | 
| 245 | 
            +
                  version: '3.1'
         | 
| 246 246 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 247 247 | 
             
              requirements:
         | 
| 248 248 | 
             
              - - ">="
         | 
| 249 249 | 
             
                - !ruby/object:Gem::Version
         | 
| 250 250 | 
             
                  version: '0'
         | 
| 251 251 | 
             
            requirements: []
         | 
| 252 | 
            -
            rubygems_version: 3.5. | 
| 252 | 
            +
            rubygems_version: 3.5.21
         | 
| 253 253 | 
             
            signing_key:
         | 
| 254 254 | 
             
            specification_version: 4
         | 
| 255 255 | 
             
            summary: A static-site generator with a focus on flexibility.
         |