shithub: hugo

Download patch

ref: 4483a6655a50d5314b46328bf3afdf0649323bd4
parent: c297d7451f6e71c9e790802ce807625a260da443
author: spf13 <[email protected]>
date: Fri Jun 6 12:38:19 EDT 2014

Centralizing the template execution logic in one place

--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -508,25 +508,7 @@
 		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 {