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
 | 
			
		||||
    def render_liquid(content, 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
 | 
			
		||||
      Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{self.path}"
 | 
			
		||||
      raise e
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,14 @@
 | 
			
		|||
module Jekyll
 | 
			
		||||
  module Tags
 | 
			
		||||
    class IncludeTagError < StandardError
 | 
			
		||||
      attr_accessor :path
 | 
			
		||||
 | 
			
		||||
      def initialize(msg, path)
 | 
			
		||||
        super msg
 | 
			
		||||
        @path = path
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    class IncludeTag < Liquid::Tag
 | 
			
		||||
 | 
			
		||||
      SYNTAX_EXAMPLE = "{% include file.ext param='value' param2='value' %}"
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +95,11 @@ eos
 | 
			
		|||
 | 
			
		||||
        context.stack do
 | 
			
		||||
          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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue