diff --git a/plugins/render_partial.rb b/plugins/render_partial.rb index 3cb74c2..9f66564 100644 --- a/plugins/render_partial.rb +++ b/plugins/render_partial.rb @@ -26,9 +26,14 @@ require 'pathname' module Jekyll class RenderPartialTag < Liquid::Tag - def initialize(tag_name, file, tokens) + def initialize(tag_name, markup, tokens) + @file = nil + @raw = false + if markup =~ /^(\S+)\s?(\w+)?/ + @file = $1.strip + @raw = $2 == 'raw' + end super - @file = file.strip end def render(context) @@ -45,9 +50,13 @@ module Jekyll if contents =~ /\A-{3}.+[^\A]-{3}\n(.+)/m contents = $1.lstrip end - partial = Liquid::Template.parse(contents) - context.stack do - partial.render(context) + if @raw + contents + else + partial = Liquid::Template.parse(contents) + context.stack do + partial.render(context) + end end end end