Fix Less load paths, simplify builder error output. Fixes #461

This commit is contained in:
Thomas Reynolds 2012-06-05 10:24:00 -07:00
parent 556f82afbc
commit 286c7352b6
94 changed files with 20630 additions and 26 deletions

View file

@ -0,0 +1,46 @@
require "less"
module Middleman
module Renderers
# Sass renderer
module Less
# Setup extension
class << self
# Once registered
def registered(app)
# Default sass options
app.set :less, {}
app.before_configuration do
template_extensions :less => :css
end
# Tell Tilt to use it as well (for inline sass blocks)
::Tilt.register 'less', LocalLoadingLessTemplate
::Tilt.prefer(LocalLoadingLessTemplate)
end
alias :included :registered
end
# A SassTemplate for Tilt which outputs debug messages
class LocalLoadingLessTemplate < ::Tilt::LessTemplate
def prepare
if ::Less.const_defined? :Engine
@engine = ::Less::Engine.new(data)
else
$stderr.puts "HEEERE"
parser = ::Less::Parser.new(options.merge :filename => eval_file, :line => line, :paths => [".", File.dirname(eval_file)])
@engine = parser.parse(data)
end
end
end
end
end
end