Skip to content

Instantly share code, notes, and snippets.

@israeljrs
Forked from mrbongiolo/precompile.md
Created August 15, 2016 01:18
Show Gist options
  • Save israeljrs/72950afd13b349672d33df596e05c3d5 to your computer and use it in GitHub Desktop.
Save israeljrs/72950afd13b349672d33df596e05c3d5 to your computer and use it in GitHub Desktop.
HOW TO: Rails 4.2 add 'vendor/asset' to precompile list

To enable the precompilation of all non.js/.css assets within vendor/assets just add this to config/initializers/assets.rb:

Rails.application.config.assets.precompile << Proc.new { |path, fn| fn =~ /vendor\/assets/ && !%w(.js .css).include?(File.extname(path)) }

Be aware that this will precompile ALL non .js/.css assets that you have there, some plugins or libraries might have .txt or other files around, and those would end up into your precompiled list also.

If you need to precompile images only, you could use this:

Rails.application.config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
# or this
Rails.application.config.assets.precompile << /\.(?:png|jpg|jpeg|gif)\z/

If you need to precompile fonts only, you could use this:

Rails.application.config.assets.precompile += %w(*.svg *.eot *.woff *.ttf)
# or this
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/

If you would like to precompile everything within vendor/assets/images:

Rails.application.config.assets.precompile << Proc.new { |path, fn| fn =~ /vendor\/assets\/images/ }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment