ref: 7c5a1fd16bc76f010d2321371e3c2ef95b53556d
parent: 4c596483e1d8f47ba54ff957df2c3b17fa91aebe
author: Daniel Martí <[email protected]>
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)
}