Sunday, January 10, 2010

Rake task for compiling LESS css stylesheets


desc "Compiles all .less files in app/stylesheets directory into the public/stylesheets directory of a Rails application"
task :less do

require 'less'

less_files = 'app/stylesheets/'
destination = 'public/stylesheets/'
stylesheets = Dir.entries(less_files)

stylesheets.select{|s| File.extname(s) == ".less"}.each do |sheet|
f = File.new("#{destination}#{File.basename(sheet, ".less")}.css", File::CREAT|File::TRUNC|File::RDWR, 0644)
f.write Less::Engine.new(File.new(less_files + sheet)).to_css
end
end