Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rake'
- require 'tempfile'
- # PAKER = "./custom_rhino.jar"
- # CMD = "java -jar %s -c %s >> %s"
- PAKER = "./yuicompressor-2.2.5.jar"
- CMD = "java -jar %s --type css --charset UTF-8 < %s > %s"
- TARGETS = {
- # Use array syntax ["file1", "file2", "file3"] to compress these 3 files into one
- ["base.css",
- "public.css",
- "header.css",
- "nhoods.css",
- "layout.css",
- "users.css",
- "userpane.css",
- "statuspane.css",
- "forms.css",
- "messaging.css",
- "search.css",
- "frame.css",
- "help.css",
- "footer.css",
- "../includes/libs/modalbox/modalbox.css",
- "tooltips.css",
- "progressmeter.css",
- "login.css",
- "dating.css",
- "dashboard.css",
- "entertainers.css"] => "_global.css",
- ["base.css",
- "header.css",
- "layout.css",
- "footer.css",
- "nhoods.css",
- "myaccount.css",
- "public.css",
- "forms.css",
- "progressmeter.css",
- "entertainers.css",
- "help.css",
- "adminui.css"] => "_admin.css",
- ["base.css",
- "header.css",
- "footer.css",
- "nhoods.css",
- "start.css"] => "_start.css",
- ["base.css",
- "header.css",
- "layout.css",
- "forms.css",
- "footer.css",
- "login.css"] => "_login.css"
- }
- task :default => [:compress]
- desc 'Clean all the compressed files'
- task :clean do
- TARGETS.each do |tgt, output|
- puts "Cleaning up old #{output}"
- FileUtils.rm_f(output)
- end
- end
- desc 'Compress all CSS into one file'
- task :compress => :clean do
- TARGETS.each do |tgt, output|
- temp = Tempfile.new('js-compressing')
- puts "Preparing to compress #{unfold_object(tgt).join(", \n\t")} into #{output}..."
- print "Processing #{heap_size(unfold_object(tgt))}"
- unfold_object(tgt).each do |input|
- print "."
- system("cat #{input} >> #{temp.path}")
- end
- system(CMD % [PAKER, temp.path, output])
- puts "done. Result: #{heap_size([output])}\n\n"
- end
- end
- def unfold_object(obj)
- if obj.is_a? Array
- obj
- elsif obj.is_a? String and obj !~ /\*/
- [obj]
- else
- Dir[obj]
- end
- end
- def heap_size(arr)
- # `du -ch #{arr.join(" ")}` =~ /^(.+?)total$/
- $1.strip
- end
Add Comment
Please, Sign In to add comment