Rakefile in yano-bootstrap-rails-0.0.2 vs Rakefile in yano-bootstrap-rails-1.0.0

- old
+ new

@@ -1,2 +1,142 @@ require "bundler/gem_tasks" task :default => :spec + +# path to your application root. +GEM_ROOT = Pathname.new File.expand_path('../', __FILE__) +asset_path = Pathname.new File.expand_path('vendor/assets/', GEM_ROOT) + +desc "Update all assets" +task :update => %w(update:bootstrap update:font_awesome) + +namespace :update do + desc "Update twitter bootstrap assets" + task :bootstrap do + version = Yano::Bootstrap::Rails::BOOTSTRAP_VERSION + + Dir.chdir asset_path do + puts `pwd` + puts "Cleaning temp folder" + ["rm -rf ", "mkdir -p "].each do |cmd| + puts "#{cmd} ./tmp ./stylesheets/bootstrap ./javascripts/bootstrap" + puts `#{cmd} ./tmp ./stylesheets/bootstrap ./javascripts/bootstrap` + end + puts "Downloading bootstrap.zip" + puts "wget -O ./tmp/bootstrap.zip https://github.com/twbs/bootstrap/archive/v#{version}.zip" + puts `wget -O ./tmp/bootstrap.zip https://github.com/twbs/bootstrap/archive/v#{version}.zip` + puts "Unziping bootstrap.zip" + puts `unzip -d ./tmp ./tmp/bootstrap.zip` + puts "Copy js assets" + puts "cp ./tmp/bootstrap-#{version}/dist/js/bootstrap*.js javascripts/bootstrap/" + puts `cp ./tmp/bootstrap-#{version}/dist/js/bootstrap*.js javascripts/bootstrap/` + + puts "Copy font assets" + puts "rm -rf fonts/glyphicons-halflings-regular.*" + puts `rm -rf fonts/glyphicons-halflings-regular.*` + + fontnames = Dir["./tmp/bootstrap-#{version}/dist/fonts/*"].map do |path| + filename = File.basename path + + puts "rm -f fonts/#{filename}" + puts `rm -f fonts/#{filename}` + puts "cp #{path} fonts/#{filename}" + puts `cp #{path} fonts/#{filename}` + + filename + end + + puts "Copy css assets" + Dir["./tmp/bootstrap-#{version}/dist/css/*.css"].each do |file_path| + filename = File.basename file_path + + File.open(file_path, 'r') do |file| + File.open("./stylesheets/bootstrap/#{filename}.erb", 'w') do |new_file| + while (line = file.gets) + if line =~ /url/i + fontnames.each do |font| + line = line.gsub("url(\"../fonts/#{font}", "url(\"<%= asset_path '#{font}' %>") + line = line.gsub("url('../fonts/#{font}", "url('<%= asset_path '#{font}' %>") + end + + line = line.gsub("#{filename}.map", "<%= asset_path '#{filename}.map' %>") + end + + new_file.puts line + end # while gets + end # write file css.erb + end # open file css + + puts "cp #{file_path}.map source_maps/#{filename}.map" + puts `cp #{file_path}.map source_maps/#{filename}.map` + end + + puts `rm -rf ./tmp` + end + + puts "\e[32mDone!\e[0m" + end + + desc "Update jQuery UI assets" + task :font_awesome do + version = Yano::Bootstrap::Rails::FONT_AWESOME_VERSION + + Dir.chdir asset_path do + puts `pwd` + puts "Cleaning temp folder" + ["rm -rf ", "mkdir -p "].each do |cmd| + puts "#{cmd} ./tmp ./stylesheets/font_awesome" + puts `#{cmd} ./tmp ./stylesheets/font_awesome` + end + + puts "Downloading font_awesome.zip" + puts "wget -O ./tmp/font_awesome.zip https://github.com/FortAwesome/Font-Awesome/archive/v#{version}.zip" + puts `wget -O ./tmp/font_awesome.zip https://github.com/FortAwesome/Font-Awesome/archive/v#{version}.zip` + + puts "Unziping font_awesome.zip" + puts `unzip -d ./tmp ./tmp/font_awesome.zip` + + puts "Copy font assets" + puts "rm -rf fonts/*ont*wesome*" + puts `rm -rf fonts/*ont*wesome*` + + fontnames = Dir["./tmp/Font-Awesome-#{version}/fonts/*"].map do |path| + filename = File.basename path + + puts "rm -f fonts/#{filename}" + puts `rm -f fonts/#{filename}` + puts "cp #{path} fonts/#{filename}" + puts `cp #{path} fonts/#{filename}` + + filename + end + + puts "Copy css assets" + Dir["./tmp/Font-Awesome-#{version}/css/*.css"].each do |file_path| + filename = File.basename(file_path) + + File.open(file_path, 'r') do |file| + File.open("./stylesheets/font_awesome/#{filename}.erb", 'w') do |new_file| + while (line = file.gets) + if line =~ /url/i + fontnames.each do |font| + line = line.gsub("url(\"../fonts/#{font}", "url(\"<%= asset_path '#{font}' %>") + line = line.gsub("url('../fonts/#{font}", "url('<%= asset_path '#{font}' %>") + end + + line = line.gsub("#{filename}.map", "<%= asset_path '#{filename}.map' %>") + end + + new_file.puts line + end # while gets + end # write file css.erb + end # open file css + + puts "cp #{file_path}.map source_maps/#{filename}.map" + puts `cp #{file_path}.map source_maps/#{filename}.map` + end + + puts `rm -rf ./tmp` + end + + puts "\e[32mDone!\e[0m" + end +end