Skip to content

Instantly share code, notes, and snippets.

@alexishida
Forked from mrbongiolo/precompile.md
Created April 3, 2018 01:25
Show Gist options
  • Save alexishida/95ad66576a63dab13eda5eb503532a7a to your computer and use it in GitHub Desktop.
Save alexishida/95ad66576a63dab13eda5eb503532a7a 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