Last active
December 18, 2015 04:39
Rake Task to convert ERB to Slim using html2slim gem.
This file contains 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
# Rake convert:erb2:slim converts every ERB files under `/app/views/**`. | |
# Original ERB files will be kept otherwise `delete` option is passed like: | |
# `$ rake "convert:erb2:slim[delete]"` . | |
namespace :convert do | |
namespace :erb2 do | |
ERBS = FileList["#{Rails.root}/app/views/**/*.erb"] | |
### Slim | |
require 'html2slim' | |
# generate tasks for slim files | |
slims = ERBS.map do |erb| | |
slim = erb.sub(/\.erb$/, '.slim') | |
file slim, [:option] => [erb] do |_task, args| | |
puts "conventing #{erb} .." | |
File.open erb, 'r' do |f| | |
content = HTML2Slim.convert!(f, :erb) | |
IO.write(slim, content) | |
end | |
puts "convented to #{slim} ." | |
if args[:option] == 'delete' | |
File.delete(erb) | |
puts "deleted #{erb} ." | |
end | |
end | |
slim | |
end | |
desc 'Convert erb tempaltes to slim. `rake "convert:erb2:slim[delete]"` to delete source erb files' | |
task :slim, [:option] => slims | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment