Created
September 3, 2014 03:58
-
-
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/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
thanks!
Something better of this solution?
I think my app slow down with this... a little...
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
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.