jekyll-sass-converter 1.3.0 → 1.5.0
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/lib/jekyll-sass-converter/version.rb +1 -1
- data/lib/jekyll/converters/scss.rb +37 -6
- metadata +7 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 645b96822c506f0d86f27cce5dc09793c4842982
         | 
| 4 | 
            +
              data.tar.gz: 9eff7d0b5b3f471bc4d898edeb447aae620f3601
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d06aefb9977c5861b8871db35659fc9b0e50b7870f329f83eeef738f3a5ef74ccba66c48ea989aed5f16152fc808fe0fe375c209c7938e96f9f9d16e2e4e8ee5
         | 
| 7 | 
            +
              data.tar.gz: 2bf05d542e7e713970b2b5b3e7f4c25c95ba2b5d6f05fdaf6d1c217aa93527b911191dbe969fed816885dbeecfd1ccbd9700ed695b7ab0ff40a61e0f147e0712
         | 
| @@ -1,9 +1,12 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require 'sass'
         | 
| 2 4 | 
             
            require 'jekyll/utils'
         | 
| 3 5 |  | 
| 4 6 | 
             
            module Jekyll
         | 
| 5 7 | 
             
              module Converters
         | 
| 6 8 | 
             
                class Scss < Converter
         | 
| 9 | 
            +
                  BYTE_ORDER_MARK = /^\xEF\xBB\xBF/
         | 
| 7 10 | 
             
                  SyntaxError = Class.new(ArgumentError)
         | 
| 8 11 |  | 
| 9 12 | 
             
                  safe true
         | 
| @@ -68,21 +71,42 @@ module Jekyll | |
| 68 71 | 
             
                  end
         | 
| 69 72 |  | 
| 70 73 | 
             
                  def sass_dir_relative_to_site_source
         | 
| 71 | 
            -
                    Jekyll.sanitized_path( | 
| 74 | 
            +
                    Jekyll.sanitized_path(site_source, sass_dir)
         | 
| 72 75 | 
             
                  end
         | 
| 73 76 |  | 
| 74 77 | 
             
                  def sass_load_paths
         | 
| 78 | 
            +
                    paths = user_sass_load_paths + [sass_dir_relative_to_site_source]
         | 
| 79 | 
            +
             | 
| 75 80 | 
             
                    if safe?
         | 
| 76 | 
            -
                       | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 81 | 
            +
                      # Sanitize paths to prevent any attack vectors (.e.g. `/**/*`)
         | 
| 82 | 
            +
                      paths.map! { |path| Jekyll.sanitized_path(site_source, path) }
         | 
| 83 | 
            +
                    end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                    # Expand file globs (e.g. `node_modules/*/node_modules` )
         | 
| 86 | 
            +
                    Dir.chdir(site_source) do
         | 
| 87 | 
            +
                      paths = paths.map { |path| Dir.glob(path) }.flatten.uniq
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                      paths.map! do |path|
         | 
| 90 | 
            +
                        if safe?
         | 
| 91 | 
            +
                          # Sanitize again in case globbing was able to do something crazy.
         | 
| 92 | 
            +
                          Jekyll.sanitized_path(site_source, path)
         | 
| 93 | 
            +
                        else
         | 
| 94 | 
            +
                          File.expand_path(path)
         | 
| 95 | 
            +
                        end
         | 
| 96 | 
            +
                      end
         | 
| 97 | 
            +
                    end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
                    paths.select { |path| File.directory?(path) }
         | 
| 80 100 | 
             
                  end
         | 
| 81 101 |  | 
| 82 102 | 
             
                  def allow_caching?
         | 
| 83 103 | 
             
                    !safe?
         | 
| 84 104 | 
             
                  end
         | 
| 85 105 |  | 
| 106 | 
            +
                  def add_charset?
         | 
| 107 | 
            +
                    !!jekyll_sass_configuration["add_charset"]
         | 
| 108 | 
            +
                  end
         | 
| 109 | 
            +
             | 
| 86 110 | 
             
                  def sass_configs
         | 
| 87 111 | 
             
                    sass_build_configuration_options({
         | 
| 88 112 | 
             
                      "syntax"     => syntax,
         | 
| @@ -92,10 +116,17 @@ module Jekyll | |
| 92 116 | 
             
                  end
         | 
| 93 117 |  | 
| 94 118 | 
             
                  def convert(content)
         | 
| 95 | 
            -
                    ::Sass.compile(content, sass_configs)
         | 
| 119 | 
            +
                    output = ::Sass.compile(content, sass_configs)
         | 
| 120 | 
            +
                    replacement = add_charset? ? '@charset "UTF-8";' : ''
         | 
| 121 | 
            +
                    output.sub(BYTE_ORDER_MARK, replacement)
         | 
| 96 122 | 
             
                  rescue ::Sass::SyntaxError => e
         | 
| 97 123 | 
             
                    raise SyntaxError.new("#{e.to_s} on line #{e.sass_line}")
         | 
| 98 124 | 
             
                  end
         | 
| 125 | 
            +
             | 
| 126 | 
            +
                  private
         | 
| 127 | 
            +
                  def site_source
         | 
| 128 | 
            +
                    @site_source ||= File.expand_path(@config["source"]).freeze
         | 
| 129 | 
            +
                  end
         | 
| 99 130 | 
             
                end
         | 
| 100 131 | 
             
              end
         | 
| 101 132 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jekyll-sass-converter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Parker Moore
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2016-11-14 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: sass
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '3. | 
| 19 | 
            +
                    version: '3.4'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '3. | 
| 26 | 
            +
                    version: '3.4'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: bundler
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -70,14 +70,14 @@ dependencies: | |
| 70 70 | 
             
              name: jekyll
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 | 
            -
                - - " | 
| 73 | 
            +
                - - ">="
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 75 | 
             
                    version: '2.0'
         | 
| 76 76 | 
             
              type: :development
         | 
| 77 77 | 
             
              prerelease: false
         | 
| 78 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 | 
            -
                - - " | 
| 80 | 
            +
                - - ">="
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 82 | 
             
                    version: '2.0'
         | 
| 83 83 | 
             
            description: 
         | 
| @@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 111 111 | 
             
                  version: '0'
         | 
| 112 112 | 
             
            requirements: []
         | 
| 113 113 | 
             
            rubyforge_project: 
         | 
| 114 | 
            -
            rubygems_version: 2. | 
| 114 | 
            +
            rubygems_version: 2.5.1
         | 
| 115 115 | 
             
            signing_key: 
         | 
| 116 116 | 
             
            specification_version: 4
         | 
| 117 117 | 
             
            summary: A basic Sass converter for Jekyll.
         |