diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/render_partial.rb | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/plugins/render_partial.rb b/plugins/render_partial.rb index 3cb74c21..9f665644 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 |