Sha256: dee5b99359f40dd48d8110fcfc0da82d19d8576d1c116b1928e0004823404cb8

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

module Jekyll
  module Assets
    module Processors
      class Liquid
        FOR = %W(
          text/css text/sass text/less application/javascript
          text/scss text/coffeescript text/javascript).freeze
        EXT = %W(.liquid .js.liquid .css.liquid .scss.liquid).freeze

        # --------------------------------------------------------------------

        def self.call(context, jekyll = context[:environment].jekyll)
          if context[:environment].parent.asset_config["features"]["liquid"] || \
              File.extname(context[:filename]) == ".liquid"

            payload_ = jekyll.site_payload
            renderer = jekyll.liquid_renderer.file(context[:filename])
            context[:data] = renderer.parse(context[:data]).render! payload_, \
              :filters => [Jekyll::Filters],
              :registers => {
                :site => jekyll
              }
          end
        end
      end
    end
  end
end

# ----------------------------------------------------------------------------
# There might be a few missing, if there is please do let me know.
# ----------------------------------------------------------------------------

Jekyll::Assets::Processors::Liquid::EXT.each do |ext|
  Sprockets.register_engine(
    ext, Jekyll::Assets::Processors::Liquid
  )
end

# ----------------------------------------------------------------------------

Jekyll::Assets::Processors::Liquid::FOR.each do |val|
  Sprockets.register_preprocessor(
    val, Jekyll::Assets::Processors::Liquid
  )
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-assets-2.2.0 lib/jekyll/assets/processors/liquid.rb