From ecefe2a04e27806342a047ec448f8260c43c093f Mon Sep 17 00:00:00 2001 From: Alex Peattie Date: Wed, 7 Nov 2012 11:30:24 -0800 Subject: [PATCH] Fix for embedded Markdown in Slim w/ Redcarpet --- .../lib/middleman-core/renderers/redcarpet.rb | 14 ++++++++++++-- .../lib/middleman-core/renderers/slim.rb | 7 ++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/middleman-core/lib/middleman-core/renderers/redcarpet.rb b/middleman-core/lib/middleman-core/renderers/redcarpet.rb index 5ae062f7..fe34a1c5 100644 --- a/middleman-core/lib/middleman-core/renderers/redcarpet.rb +++ b/middleman-core/lib/middleman-core/renderers/redcarpet.rb @@ -5,6 +5,14 @@ module Middleman class RedcarpetTemplate < ::Tilt::RedcarpetTemplate::Redcarpet2 + def initialize(*args, &block) + super + + if @options.has_key?(:context) + @context = @options[:context] + end + end + # Overwrite built-in Tilt version. # Don't overload :renderer option with smartypants # Support renderer-level options @@ -32,9 +40,11 @@ module Middleman renderer.new(render_options) end - def evaluate(scope, locals, &block) + def evaluate(context, locals, &block) + @context ||= context + if @engine.renderer.respond_to? :middleman_app= - @engine.renderer.middleman_app = scope + @engine.renderer.middleman_app = @context end super end diff --git a/middleman-core/lib/middleman-core/renderers/slim.rb b/middleman-core/lib/middleman-core/renderers/slim.rb index caa23675..644baf0a 100644 --- a/middleman-core/lib/middleman-core/renderers/slim.rb +++ b/middleman-core/lib/middleman-core/renderers/slim.rb @@ -23,11 +23,12 @@ module Middleman ) app.after_configuration do - sass_context_hack = { + context_hack = { :context => self } - ::Slim::EmbeddedEngine.default_options[:sass] = sass_context_hack - ::Slim::EmbeddedEngine.default_options[:scss] = sass_context_hack + %w(sass scss markdown).each do |engine| + ::Slim::EmbeddedEngine.default_options[engine.to_sym] = context_hack + end end end