Sha256: 60e309d45f5d9db9b38ab389f3ba945d49a2664b2c4ba3917f29006331041b40

Contents?: true

Size: 799 Bytes

Versions: 4

Compression:

Stored size: 799 Bytes

Contents

begin
  require "yui/compressor"
rescue LoadError
  puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
end
  
module Middleman
  module Rack
    class MinifyCSS
      def initialize(app, options={})
        @app = app
      end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
middleman-0.12.2 lib/middleman/rack/minify_css.rb
middleman-0.12.1 lib/middleman/rack/minify_css.rb
middleman-0.12.0.pre3 lib/middleman/rack/minify_css.rb
middleman-0.12.0.pre2 lib/middleman/rack/minify_css.rb