2012-05-28 22:19:40 +02:00
|
|
|
# Load gem
|
2013-12-28 01:26:31 +01:00
|
|
|
require 'slim'
|
2012-05-28 22:19:40 +02:00
|
|
|
|
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
|
|
|
|
|
2012-05-28 22:19:40 +02:00
|
|
|
module Middleman
|
|
|
|
module Renderers
|
2012-08-14 00:39:06 +02:00
|
|
|
|
2012-05-28 22:19:40 +02:00
|
|
|
# Slim renderer
|
|
|
|
module Slim
|
2012-08-14 00:39:06 +02:00
|
|
|
|
2012-05-28 22:19:40 +02:00
|
|
|
# Setup extension
|
|
|
|
class << self
|
2012-08-14 00:39:06 +02:00
|
|
|
|
2012-05-28 22:19:40 +02:00
|
|
|
# Once registered
|
|
|
|
def registered(app)
|
|
|
|
# Setup Slim options to work with partials
|
|
|
|
::Slim::Engine.set_default_options(
|
2012-08-14 00:39:06 +02:00
|
|
|
:buffer => '@_out_buf',
|
2013-04-23 07:07:35 +02:00
|
|
|
:use_html_safe => true,
|
|
|
|
:generator => ::Temple::Generators::RailsOutputBuffer,
|
|
|
|
:disable_escape => true
|
2012-05-28 22:19:40 +02:00
|
|
|
)
|
2013-12-28 19:14:15 +01:00
|
|
|
|
2012-08-16 22:48:34 +02:00
|
|
|
app.after_configuration do
|
2012-11-07 20:30:24 +01:00
|
|
|
context_hack = {
|
2012-08-16 22:48:34 +02:00
|
|
|
:context => self
|
|
|
|
}
|
2013-04-14 18:24:48 +02:00
|
|
|
|
2014-02-19 03:30:29 +01:00
|
|
|
::Slim::Embedded::SassEngine.disable_option_validator!
|
2012-11-07 20:30:24 +01:00
|
|
|
%w(sass scss markdown).each do |engine|
|
2014-02-19 03:30:29 +01:00
|
|
|
::Slim::Embedded.default_options[engine.to_sym] = context_hack
|
2012-11-07 20:30:24 +01:00
|
|
|
end
|
2012-08-16 22:48:34 +02:00
|
|
|
end
|
2012-05-28 22:19:40 +02:00
|
|
|
end
|
2012-08-14 00:39:06 +02:00
|
|
|
|
2012-05-28 22:19:40 +02:00
|
|
|
alias :included :registered
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2012-08-14 00:39:06 +02:00
|
|
|
end
|