Sha256: 9997b8dda17d6665d4b873a3bbe4fe6a8744db12c09ba4081a12b336ff037c67

Contents?: true

Size: 1.16 KB

Versions: 10

Compression:

Stored size: 1.16 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_method :included, :registered
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
middleman-core-3.3.9 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.8 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.7 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.6 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.5 lib/middleman-core/renderers/slim.rb
middleman-core-cj-3.3.6 lib/middleman-core/renderers/slim.rb
middleman-core-cj-3.3.5 lib/middleman-core/renderers/slim.rb
middleman-core-cj-3.3.4 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.4 lib/middleman-core/renderers/slim.rb
middleman-core-3.3.3 lib/middleman-core/renderers/slim.rb