Last active
June 9, 2016 20:48
-
-
Save bnadlerjr/4967125 to your computer and use it in GitHub Desktop.
Sprockets precompile Rake task
This file contains hidden or 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
| namespace :assets do | |
| require 'sprockets' | |
| require 'uglifier' | |
| require 'yui/compressor' | |
| sprockets = Sprockets::Environment.new { |env| env.logger = Logger.new(STDOUT) } | |
| sprockets.css_compressor = YUI::CssCompressor.new | |
| sprockets.js_compressor = :uglifier | |
| sprockets.append_path File.expand_path('../lib/web/assets', __FILE__) | |
| output_path = File.expand_path('../lib/web/public', __FILE__) | |
| task :precompile_css do | |
| asset = sprockets['styles.css'] | |
| outfile = Pathname.new(output_path).join('css/styles.css') | |
| FileUtils.mkdir_p outfile.dirname | |
| asset.write_to(outfile) | |
| puts "successfully compiled css assets" | |
| end | |
| task :precompile_img do | |
| image_path = File.join(output_path, 'img') | |
| FileUtils.mkdir_p(image_path) | |
| Dir.glob(File.expand_path("../lib/web/assets/img/*", __FILE__)).each do |f| | |
| FileUtils.cp(f, image_path) | |
| sprockets.logger.debug("Copied #{File.basename(f)}") | |
| end | |
| puts "successfully copied images" | |
| end | |
| task :precompile_js do | |
| asset = sprockets['app.js'] | |
| outfile = Pathname.new(output_path).join('js/app.js') | |
| FileUtils.mkdir_p outfile.dirname | |
| asset.write_to(outfile) | |
| puts "successfully compiled javascript assets" | |
| end | |
| desc 'precompile all assets' | |
| task :precompile => [:precompile_css, :precompile_img, :precompile_js] | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment