From 08dc63a95e071401d4724ca8c9b9270eaf843012 Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Mon, 1 Aug 2011 16:24:06 -0400 Subject: [PATCH] added a raw option to render_partial. Now you can import partials without having them parsed by the Liquid template parser --- plugins/render_partial.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) 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