Skip to content

Instantly share code, notes, and snippets.

@remino
Created September 3, 2014 03:58
Show Gist options
  • Star 38 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • 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
@remino
Copy link
Author

remino commented Sep 3, 2014

Ruby on Rails: Minify HTML, CSS, & JS, and compress with gzip
https://remino.net/rails-html-css-js-gzip-compression/

The code is explained in further details at my article linked above.

@abelorian
Copy link

thanks!

Copy link

ghost commented Jun 26, 2015

Something better of this solution?

I think my app slow down with this... a little...

@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