middleman/middleman-core/lib/middleman-core/renderers/slim.rb

51 lines
1.1 KiB
Ruby
Raw Normal View History

# Load gem
require 'slim'
2014-02-19 03:30:29 +01:00
module SafeTemplate
def render(*)
super.html_safe
end
end
class Slim::Template
include SafeTemplate
def precompiled_preamble(locals)
"__in_slim_template = true\n" << super
end
end
module Middleman
module Renderers
# Slim renderer
module Slim
# Setup extension
class << self
# Once registered
def registered(app)
# Setup Slim options to work with partials
::Slim::Engine.set_default_options(
2014-04-29 19:50:21 +02:00
buffer: '@_out_buf',
use_html_safe: true,
generator: ::Temple::Generators::RailsOutputBuffer,
disable_escape: true
)
2013-12-28 19:14:15 +01:00
app.after_configuration do
context_hack = {
2014-06-16 18:05:24 +02:00
context: template_context_class.new(self)
}
2013-04-14 18:24:48 +02:00
2014-02-19 03:30:29 +01:00
::Slim::Embedded::SassEngine.disable_option_validator!
%w(sass scss markdown).each do |engine|
2014-02-19 03:30:29 +01:00
::Slim::Embedded.default_options[engine.to_sym] = context_hack
end
end
end
2014-04-29 19:50:21 +02:00
alias_method :included, :registered
end
end
end
end