class Middleman::Renderers::Sass::SassPlusCSSFilenameTemplate

A SassTemplate for Tilt which outputs debug messages

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/middleman-core/renderers/sass.rb, line 42
def initialize(*args, &block)
  super
  
  if @options.has_key?(:context)
    @context = @options[:context]
  end
end

Public Instance Methods

evaluate(context, locals, &block) click to toggle source

Add exception messaging @param [Class] context @param [Hash] locals @return [String]

# File lib/middleman-core/renderers/sass.rb, line 62
def evaluate(context, locals, &block)
  @context ||= context
  @engine = ::Sass::Engine.new(data, sass_options)

  begin
    @engine.render
  rescue ::Sass::SyntaxError => e
    ::Sass::SyntaxError.exception_to_css(e, :full_exception => true)
  end
end
prepare() click to toggle source
# File lib/middleman-core/renderers/sass.rb, line 56
def prepare; end
sass_options() click to toggle source

Change Sass path, for url functions, to the build folder if we’re building @return [Hash]

# File lib/middleman-core/renderers/sass.rb, line 75
def sass_options
  more_opts = { :filename => eval_file, :line => line, :syntax => syntax }
  
  if @context.is_a?(::Middleman::Application) && file
    location_of_sass_file = File.expand_path(@context.source, @context.root)
  
    parts = basename.split('.')
    parts.pop
    more_opts[:css_filename] = File.join(location_of_sass_file, @context.css_dir, parts.join("."))
  end
  
  options.merge(more_opts)
end
syntax() click to toggle source

Define the expected syntax for the template @return [Symbol]

# File lib/middleman-core/renderers/sass.rb, line 52
def syntax
  :sass
end