Merge pull request #1596 from maul-esel/error-file
Output path in case of liquid error in include file
This commit is contained in:
commit
6abe01f60f
|
@ -86,6 +86,9 @@ module Jekyll
|
||||||
# Returns the converted content
|
# Returns the converted content
|
||||||
def render_liquid(content, payload, info)
|
def render_liquid(content, payload, info)
|
||||||
Liquid::Template.parse(content).render!(payload, info)
|
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
|
rescue Exception => e
|
||||||
Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{self.path}"
|
Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{self.path}"
|
||||||
raise e
|
raise e
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
module Jekyll
|
module Jekyll
|
||||||
module Tags
|
module Tags
|
||||||
|
class IncludeTagError < StandardError
|
||||||
|
attr_accessor :path
|
||||||
|
|
||||||
|
def initialize(msg, path)
|
||||||
|
super msg
|
||||||
|
@path = path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class IncludeTag < Liquid::Tag
|
class IncludeTag < Liquid::Tag
|
||||||
|
|
||||||
SYNTAX_EXAMPLE = "{% include file.ext param='value' param2='value' %}"
|
SYNTAX_EXAMPLE = "{% include file.ext param='value' param2='value' %}"
|
||||||
|
@ -86,7 +95,11 @@ eos
|
||||||
|
|
||||||
context.stack do
|
context.stack do
|
||||||
context['include'] = parse_params(context) if @params
|
context['include'] = parse_params(context) if @params
|
||||||
partial.render(context)
|
begin
|
||||||
|
partial.render!(context)
|
||||||
|
rescue => e
|
||||||
|
raise IncludeTagError.new e.message, File.join(INCLUDES_DIR, @file)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue