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 {