Skip to content

Instantly share code, notes, and snippets.

@remino
Created September 3, 2014 03:58
Show Gist options
  • Save remino/b8581609fdc8dcb6d2c1 to your computer and use it in GitHub Desktop.
Save remino/b8581609fdc8dcb6d2c1 to your computer and use it in GitHub Desktop.
Ruby on Rails: Minify HTML, CSS, & JS, and compress with gzip https://remino.net/rails-html-css-js-gzip-compression/
# config/initializers/compression.rb
Rails.application.configure do
# Use environment names or environment variables:
# break unless Rails.env.production?
break unless ENV['ENABLE_COMPRESSION'] == '1'
# Strip all comments from JavaScript files, even copyright notices.
# By doing so, you are legally required to acknowledge
# the use of the software somewhere in your Web site or app:
uglifier = Uglifier.new output: { comments: :none }
# To keep all comments instead or only keep copyright notices (the default):
# uglifier = Uglifier.new output: { comments: :all }
# uglifier = Uglifier.new output: { comments: :copyright }
config.assets.compile = true
config.assets.debug = false
config.assets.js_compressor = uglifier
config.assets.css_compressor = :sass
config.middleware.use Rack::Deflater
config.middleware.insert_before ActionDispatch::Static, Rack::Deflater
config.middleware.use HtmlCompressor::Rack,
compress_css: true,
compress_javascript: true,
css_compressor: Sass,
enabled: true,
javascript_compressor: uglifier,
preserve_line_breaks: false,
remove_comments: true,
remove_form_attributes: false,
remove_http_protocol: false,
remove_https_protocol: false,
remove_input_attributes: true,
remove_intertag_spaces: false,
remove_javascript_protocol: true,
remove_link_attributes: true,
remove_multi_spaces: true,
remove_quotes: true,
remove_script_attributes: true,
remove_style_attributes: true,
simple_boolean_attributes: true,
simple_doctype: false
end
@ndvbd
Copy link

ndvbd commented Jan 19, 2016

We need the ability to compress only specific pages with this middleware

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment