Sha256: 7c54013066d1ba20b68d3bbe9a7ba118ed485c2019e2710951617e3cf6f58d86

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

require "yui/compressor"

module Middleman
  module Minified
    module Javascript
      include ::Haml::Filters::Base
      def render_with_options(text, options)
        compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
        data = compressor.compress(text)
        <<END
<script type=#{options[:attr_wrapper]}text/javascript#{options[:attr_wrapper]}>#{data.chomp}</script>
END
      end
    end
  end
  
  class Builder
    alias_method :pre_yui_after_run, :after_run
    def after_run
      pre_yui_after_run
      
      compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
      Dir[File.join(Middleman::Base.build_dir, Middleman::Base.js_dir, "**", "*.js")].each do |path|
        lines = IO.readlines(path)
        if lines.length > 1
          compressed_js = compressor.compress(lines.join($/))
          File.open(path, 'w') { |f| f.write(compressed_js) }
          say "<%= color('#{"[COMPRESSED]".rjust(12)}', :yellow) %>  " + path.gsub(Middleman::Base.build_dir+"/", '')
        end
      end
    end
  end if Middleman::Base.environment == "build"
end

Middleman::Base.supported_formats << "js"

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
middleman-0.9.20 lib/middleman/features/minify_javascript.rb
middleman-0.9.18 lib/middleman/features/minify_javascript.rb