Sha256: 5592d510bd8051cf960b49602b11f2570a44bd1c3219d13393864c70aa7912a8

Contents?: true

Size: 1.09 KB

Versions: 24

Compression:

Stored size: 1.09 KB

Contents

require "yui/compressor"
require "middleman/builder"

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
end

Middleman::Base.supported_formats << "js"

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
middleman-0.11.2 lib/middleman/features/minify_javascript.rb
middleman-0.11.1 lib/middleman/features/minify_javascript.rb
middleman-0.11.0 lib/middleman/features/minify_javascript.rb
middleman-0.10.17 lib/middleman/features/minify_javascript.rb
middleman-0.10.16 lib/middleman/features/minify_javascript.rb
middleman-0.10.15 lib/middleman/features/minify_javascript.rb
middleman-0.10.14 lib/middleman/features/minify_javascript.rb
middleman-0.10.13 lib/middleman/features/minify_javascript.rb
middleman-0.10.12 lib/middleman/features/minify_javascript.rb
middleman-0.10.11 lib/middleman/features/minify_javascript.rb
middleman-0.10.10 lib/middleman/features/minify_javascript.rb
middleman-0.10.9 lib/middleman/features/minify_javascript.rb
middleman-0.10.8 lib/middleman/features/minify_javascript.rb
middleman-0.10.7 lib/middleman/features/minify_javascript.rb
middleman-0.10.6 lib/middleman/features/minify_javascript.rb
middleman-0.10.5 lib/middleman/features/minify_javascript.rb
middleman-0.10.4 lib/middleman/features/minify_javascript.rb
middleman-0.10.3 lib/middleman/features/minify_javascript.rb
middleman-0.10.2 lib/middleman/features/minify_javascript.rb
middleman-0.10.1 lib/middleman/features/minify_javascript.rb