ref: 7c5a1fd16bc76f010d2321371e3c2ef95b53556d
parent: 4c596483e1d8f47ba54ff957df2c3b17fa91aebe
author: Daniel Martí <mvdan@mvdan.cc>
date: Sun Jan 3 07:53:45 EST 2016
Replace *bytes.Buffer with io.Writer in rendering Found via github.com/mvdan/interfacer.
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1691,7 +1691,7 @@
return err
}
-func (s *Site) render(name string, d interface{}, renderBuffer *bytes.Buffer, layouts ...string) error {+func (s *Site) render(name string, d interface{}, w io.Writer, layouts ...string) error {layout, found := s.findFirstLayout(layouts...)
if found == false { jww.WARN.Printf("Unable to locate layout for %s: %s\n", name, layouts)@@ -1698,7 +1698,7 @@
return nil
}
- if err := s.renderThing(d, layout, renderBuffer); err != nil {+ if err := s.renderThing(d, layout, w); err != nil {// Behavior here should be dependent on if running in server or watch mode.
distinctErrorLogger.Printf("Error while rendering %s: %v", name, err) if !s.Running() {--- a/tpl/template.go
+++ b/tpl/template.go
@@ -14,7 +14,6 @@
package tpl
import (
- "bytes"
"fmt"
"github.com/eknkc/amber"
bp "github.com/spf13/hugo/bufferpool"
@@ -104,7 +103,7 @@
return ExecuteTemplateToHTML(context, "partials/"+name, "theme/partials/"+name)
}
-func ExecuteTemplate(context interface{}, buffer *bytes.Buffer, layouts ...string) {+func ExecuteTemplate(context interface{}, w io.Writer, layouts ...string) {worked := false
for _, layout := range layouts {@@ -115,7 +114,7 @@
}
if localTemplates.Lookup(name) != nil {- err := localTemplates.ExecuteTemplate(buffer, name, context)
+ err := localTemplates.ExecuteTemplate(w, name, context)
if err != nil {jww.ERROR.Println(err, "in", name)
}
--
⑨