Sha256: 3e0542ee5746679aa7e2e4f60ff66f5a542bfaf075afa421eb02239e3ffb2273

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

# Load gem
require 'slim'

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)
          app.before_configuration do
            template_extensions :slim => :html
          end

          # Setup Slim options to work with partials
          ::Slim::Engine.set_default_options(
            :buffer    => '@_out_buf',
            :use_html_safe => true,
            :generator => ::Temple::Generators::RailsOutputBuffer,
            :disable_escape => true
          )

          app.after_configuration do
            context_hack = {
              :context => self
            }

            ::Slim::Embedded::SassEngine.disable_option_validator!
            %w(sass scss markdown).each do |engine|
              ::Slim::Embedded.default_options[engine.to_sym] = context_hack
            end
          end
        end

        alias :included :registered
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
middleman-core-3.3.2 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.1 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.0 lib/middleman-core/renderers/slim.rb