require 'tilt/template' require 'sass' module Tilt # Sass template implementation. See: # http://haml.hamptoncatlin.com/ # # Sass templates do not support object scopes, locals, or yield. class SassTemplate < Template self.default_mime_type = 'text/css' def prepare @engine = ::Sass::Engine.new(data, sass_options) end def evaluate(scope, locals, &block) @output ||= @engine.render end def allows_script? false end private def sass_options options.merge(:filename => eval_file, :line => line, :syntax => :sass) end end # Sass's new .scss type template implementation. class ScssTemplate < SassTemplate self.default_mime_type = 'text/css' private def sass_options options.merge(:filename => eval_file, :line => line, :syntax => :scss) end end end