Class: Middleman::Extensions::MinifyJavascript

Inherits:
Middleman::Extension show all
Defined in:
lib/middleman-more/extensions/minify_javascript.rb

Overview

Minify Javascript Extension

Defined Under Namespace

Classes: Rack

Instance Attribute Summary

Attributes inherited from Middleman::Extension

#app, #options

Instance Method Summary collapse

Methods inherited from Middleman::Extension

activate, activated_extension, after_extension_activated, clear_after_extension_callbacks, config, extension_name, helpers, option, register

Constructor Details

#initialize(app, options_hash = {}, &block) ⇒ MinifyJavascript

Returns a new instance of MinifyJavascript.



9
10
11
12
13
# File 'lib/middleman-more/extensions/minify_javascript.rb', line 9

def initialize(app, options_hash={}, &block)
  super

  app.config.define_setting :js_compressor, nil, 'Set the JS compressor to use. Deprecated in favor of the :compressor option when activating :minify_js'
end

Instance Method Details

#after_configurationObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/middleman-more/extensions/minify_javascript.rb', line 15

def after_configuration
  chosen_compressor = app.config[:js_compressor] || options[:compressor] || begin
    require 'uglifier'
    ::Uglifier.new
  end

  # Setup Rack middleware to minify JS
  app.use Rack, compressor: chosen_compressor,
                ignore: Array(options[:ignore]) + [/\.min\./],
                inline: options[:inline],
                content_types: options[:content_types],
                inline_content_types: options[:inline_content_types]
end