diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb index b1dacf59..01ed0743 100644 --- a/lib/jekyll/convertible.rb +++ b/lib/jekyll/convertible.rb @@ -84,13 +84,13 @@ module Jekyll # info - the info for Liquid # # Returns the converted content - def render_liquid(content, payload, info) + def render_liquid(content, payload, info, path = nil) Liquid::Template.parse(content).render!(payload, info) rescue Tags::IncludeTagError => e Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{e.path}" raise e rescue Exception => e - Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{self.path}" + Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{path || self.path}" raise e end @@ -121,7 +121,8 @@ module Jekyll self.output = self.render_liquid(layout.content, payload, - info) + info, + File.join(self.site.config['layouts'], layout.name)) if layout = layouts[layout.data["layout"]] if used.include?(layout) diff --git a/lib/jekyll/tags/include.rb b/lib/jekyll/tags/include.rb index c8a21c2b..50092c2b 100644 --- a/lib/jekyll/tags/include.rb +++ b/lib/jekyll/tags/include.rb @@ -95,12 +95,10 @@ eos context.stack do context['include'] = parse_params(context) if @params - begin - partial.render!(context) - rescue => e - raise IncludeTagError.new e.message, File.join(INCLUDES_DIR, @file) - end + partial.render!(context) end + rescue => e + raise IncludeTagError.new e.message, File.join(INCLUDES_DIR, @file) end def validate_dir(dir, safe)