nanoc 4.14.0 → 4.14.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 +11 -0
- data/lib/nanoc/filters/erb.rb +19 -3
- data/lib/nanoc/filters/less.rb +2 -4
- data/lib/nanoc/helpers/capturing.rb +1 -2
- data/lib/nanoc/version.rb +1 -1
- metadata +6 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 923381ebbdbafb7b60b0aa640c118e6983a59113b9e50836459684a31cbb101f
         | 
| 4 | 
            +
              data.tar.gz: 7abde9f5c334c6a0a267d2ce5740f77c7f1c81cb53b0198ba123f944ee043352
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e55e39e90ed7b02a65d3beb3c4b5e4d6ad5eb5698a5535411406d405759665f7ec452556b3e074f37303ac74f1b4f56e5951ad6ef802961bb969cacf8492f12e
         | 
| 7 | 
            +
              data.tar.gz: 24d045ab848d41bcbba99dcbea0fc140659a2b938d6bea57c1c60267bc4ef31a86c827b6331fc0bd34c1eed5f8747bb25edffc801b9ac980b1a5661dbd7caf1e
         | 
    
        data/NEWS.md
    CHANGED
    
    | @@ -1,5 +1,16 @@ | |
| 1 1 | 
             
            # Nanoc news
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 4.14.1 (2025-10-30)
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Fixes:
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            - Fixed issue which would cause timings reported `--verbose --verbose` to be inaccurate (#1760, #1761)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            Enhancements:
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            - Improved ERB filter performance through memoization (#1762)
         | 
| 12 | 
            +
            - Improved performance (#1759, #1758, #1761)
         | 
| 13 | 
            +
             | 
| 3 14 | 
             
            ## 4.14.0 (2025-10-18)
         | 
| 4 15 |  | 
| 5 16 | 
             
            Features:
         | 
    
        data/lib/nanoc/filters/erb.rb
    CHANGED
    
    | @@ -7,6 +7,12 @@ module Nanoc::Filters | |
| 7 7 |  | 
| 8 8 | 
             
                requires 'erb'
         | 
| 9 9 |  | 
| 10 | 
            +
                class << self
         | 
| 11 | 
            +
                  attr_accessor :_erb_cache
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                self._erb_cache = {}
         | 
| 15 | 
            +
             | 
| 10 16 | 
             
                # Runs the content through [ERB](http://ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html).
         | 
| 11 17 | 
             
                #
         | 
| 12 18 | 
             
                # @param [String] content The content to filter
         | 
| @@ -27,9 +33,19 @@ module Nanoc::Filters | |
| 27 33 |  | 
| 28 34 | 
             
                  # Get result
         | 
| 29 35 | 
             
                  trim_mode = params[:trim_mode]
         | 
| 30 | 
            -
                   | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 36 | 
            +
                  erb_for(content, trim_mode:).result(assigns_binding)
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                private
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                def erb_for(content, trim_mode:)
         | 
| 42 | 
            +
                  cache_key = [content, trim_mode]
         | 
| 43 | 
            +
                  self.class._erb_cache.fetch(cache_key) do
         | 
| 44 | 
            +
                    erb = ::ERB.new(content, trim_mode:)
         | 
| 45 | 
            +
                    erb.filename = filename
         | 
| 46 | 
            +
                    self.class._erb_cache[cache_key] = erb
         | 
| 47 | 
            +
                    erb
         | 
| 48 | 
            +
                  end
         | 
| 33 49 | 
             
                end
         | 
| 34 50 | 
             
              end
         | 
| 35 51 | 
             
            end
         | 
    
        data/lib/nanoc/filters/less.rb
    CHANGED
    
    | @@ -21,10 +21,8 @@ module Nanoc::Filters | |
| 21 21 |  | 
| 22 22 | 
             
                  # Add filename to load path
         | 
| 23 23 | 
             
                  paths = [File.dirname(@item[:content_filename])]
         | 
| 24 | 
            -
                   | 
| 25 | 
            -
             | 
| 26 | 
            -
                    parser.parse(content).to_css(params)
         | 
| 27 | 
            -
                  end
         | 
| 24 | 
            +
                  parser = ::Less::Parser.new(paths:)
         | 
| 25 | 
            +
                  parser.parse(content).to_css(params)
         | 
| 28 26 | 
             
                end
         | 
| 29 27 |  | 
| 30 28 | 
             
                def imported_filenames_from(content)
         | 
    
        data/lib/nanoc/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: nanoc
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.14. | 
| 4 | 
            +
              version: 4.14.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Denis Defreyne
         | 
| @@ -49,28 +49,28 @@ dependencies: | |
| 49 49 | 
             
                requirements:
         | 
| 50 50 | 
             
                - - '='
         | 
| 51 51 | 
             
                  - !ruby/object:Gem::Version
         | 
| 52 | 
            -
                    version: 4.14. | 
| 52 | 
            +
                    version: 4.14.1
         | 
| 53 53 | 
             
              type: :runtime
         | 
| 54 54 | 
             
              prerelease: false
         | 
| 55 55 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 56 56 | 
             
                requirements:
         | 
| 57 57 | 
             
                - - '='
         | 
| 58 58 | 
             
                  - !ruby/object:Gem::Version
         | 
| 59 | 
            -
                    version: 4.14. | 
| 59 | 
            +
                    version: 4.14.1
         | 
| 60 60 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 61 61 | 
             
              name: nanoc-core
         | 
| 62 62 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 63 63 | 
             
                requirements:
         | 
| 64 64 | 
             
                - - '='
         | 
| 65 65 | 
             
                  - !ruby/object:Gem::Version
         | 
| 66 | 
            -
                    version: 4.14. | 
| 66 | 
            +
                    version: 4.14.1
         | 
| 67 67 | 
             
              type: :runtime
         | 
| 68 68 | 
             
              prerelease: false
         | 
| 69 69 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 70 70 | 
             
                requirements:
         | 
| 71 71 | 
             
                - - '='
         | 
| 72 72 | 
             
                  - !ruby/object:Gem::Version
         | 
| 73 | 
            -
                    version: 4.14. | 
| 73 | 
            +
                    version: 4.14.1
         | 
| 74 74 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 75 75 | 
             
              name: nanoc-deploying
         | 
| 76 76 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -218,7 +218,7 @@ licenses: | |
| 218 218 | 
             
            - MIT
         | 
| 219 219 | 
             
            metadata:
         | 
| 220 220 | 
             
              rubygems_mfa_required: 'true'
         | 
| 221 | 
            -
              source_code_uri: https://github.com/nanoc/nanoc/tree/4.14. | 
| 221 | 
            +
              source_code_uri: https://github.com/nanoc/nanoc/tree/4.14.1/nanoc
         | 
| 222 222 | 
             
            rdoc_options: []
         | 
| 223 223 | 
             
            require_paths:
         | 
| 224 224 | 
             
            - lib
         |