Sha256: 0080ffbe9aaaac08771ea156787e7dcd25f5882f03fc0c817c49ead24299e3e9

Contents?: true

Size: 700 Bytes

Versions: 3

Compression:

Stored size: 700 Bytes

Contents

begin
  require "yui/compressor"
rescue LoadError
  puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
end

class Middleman::Rack::MinifyCSS
  def initialize(app, options={})
    @app = app
  end

  def call(env)
    status, headers, response = @app.call(env)
  
    if Middleman::Base.enabled?(:minify_css) && env["PATH_INFO"].match(/\.css$/)
      compressor = ::YUI::CssCompressor.new
      
      uncompressed_source = response.is_a?(::Rack::File) ? File.read(response.path) : response
      response = compressor.compress(uncompressed_source)
      headers["Content-Length"] = ::Rack::Utils.bytesize(response).to_s
    end

    [status, headers, response]
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
middleman-0.14.1 lib/middleman/rack/minify_css.rb
middleman-0.14.0 lib/middleman/rack/minify_css.rb
middleman-0.14.0.pre2 lib/middleman/rack/minify_css.rb