mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Centralizing the template execution logic in one place
This commit is contained in:
		@@ -508,25 +508,7 @@ func (p *Page) Render(layout ...string) template.HTML {
 | 
			
		||||
		curLayout = layout[0]
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return bytesToHTML(p.ExecuteTemplate(curLayout).Bytes())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (p *Page) ExecuteTemplate(layout string) *bytes.Buffer {
 | 
			
		||||
	l := p.Layout(layout)
 | 
			
		||||
	buffer := new(bytes.Buffer)
 | 
			
		||||
	worked := false
 | 
			
		||||
	for _, layout := range l {
 | 
			
		||||
		if p.Tmpl.Lookup(layout) != nil {
 | 
			
		||||
			p.Tmpl.ExecuteTemplate(buffer, layout, p)
 | 
			
		||||
			worked = true
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if !worked {
 | 
			
		||||
		jww.ERROR.Println("Unable to render", layout, ".")
 | 
			
		||||
		jww.ERROR.Println("Expecting to find a template in either the theme/layouts or /layouts in one of the following relative locations", l)
 | 
			
		||||
	}
 | 
			
		||||
	return buffer
 | 
			
		||||
	return ExecuteTemplateToHTML(p, p.Layout(curLayout)...)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (page *Page) guessMarkupType() string {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user