Sha256: 2468b79a3ac35c915634f13a1934fc229aa938e6020b57b6b523b471577fcee1

Contents?: true

Size: 1.06 KB

Versions: 15

Compression:

Stored size: 1.06 KB

Contents

# Load gem
require 'slim'

module SafeTemplate
  def render(*)
    super.html_safe
  end
end

class ::Slim::Template
  include SafeTemplate

  def initialize(file, line, opts, &block)
    if opts.key?(:context)
      context_hack = {
        context: opts[:context]
      }

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

    super
  end

  def precompiled_preamble(locals)
    "__in_slim_template = true\n" << super
  end
end

module Middleman
  module Renderers
    # Slim renderer
    class Slim < ::Middleman::Extension
      # Setup extension
      def initialize(_app, _options={}, &_block)
        super

        # Setup Slim options to work with partials
        ::Slim::Engine.disable_option_validator!
        ::Slim::Engine.set_options(
          buffer: '@_out_buf',
          use_html_safe: true,
          generator: ::Temple::Generators::RailsOutputBuffer,
          disable_escape: true
        )
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
middleman-core-with-external-sources-watch-fix-4.1.0 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.8 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.7 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.6 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.5 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.3 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.2 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.1 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.0 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.0.rc.2 lib/middleman-core/renderers/slim.rb
middleman-core-4.1.0.rc.1 lib/middleman-core/renderers/slim.rb
middleman-core-4.0.0 lib/middleman-core/renderers/slim.rb
middleman-core-4.0.0.rc.3 lib/middleman-core/renderers/slim.rb
middleman-core-4.0.0.rc.2 lib/middleman-core/renderers/slim.rb
middleman-core-4.0.0.rc.1 lib/middleman-core/renderers/slim.rb