ace/lib/ace/filters/sass.rb

28 lines
688 B
Ruby
Raw Normal View History

2011-03-17 13:20:03 +01:00
# encoding: utf-8
require "sass"
require "ace/filters"
module Ace
class SassFilter < Filter
def call(item, content)
if item.output_path && item.output_path.match(/\.s[ac]ss$/)
syntax = item.output_path.end_with?(".scss") ? :scss : :sass
item.output_path.sub!(/\.s[ac]ss$/, '')
output = nil
2011-03-17 13:20:03 +01:00
begin
engine = Sass::Engine.new(content, syntax: syntax, filename: item.original_path)
2011-03-17 13:20:03 +01:00
output = engine.render
rescue Exception => e
warn "~~ SassFilter exception: #{e}"
abort
end
#p caller: Kernel.caller
2011-03-17 13:20:03 +01:00
return output
else
return content
end
end
end
end