summaryrefslogtreecommitdiffstats
path: root/hugolib/page_output.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-03-26 18:51:12 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-03-27 15:43:56 +0200
commite49a2b83ad9825a978ecbf0ff5fd9b7331690c17 (patch)
treec1733c8bed9cf677da3f2ab5da5c9759ca32f2bf /hugolib/page_output.go
parent9a0aa5fdbe3ef35b7cc1dd756f54f1b219225bfc (diff)
hugolib: Fix Render layouts for list pages
Diffstat (limited to 'hugolib/page_output.go')
-rw-r--r--hugolib/page_output.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/hugolib/page_output.go b/hugolib/page_output.go
index 542c50e62..ed0678964 100644
--- a/hugolib/page_output.go
+++ b/hugolib/page_output.go
@@ -102,12 +102,19 @@ func (p *PageOutput) layouts(layouts ...string) []string {
}
func (p *PageOutput) Render(layout ...string) template.HTML {
+ if !p.checkRender() {
+ return template.HTML("")
+ }
+
l := p.layouts(layout...)
return p.s.Tmpl.ExecuteTemplateToHTML(p, l...)
}
-// TODO(bep) output
func (p *Page) Render(layout ...string) template.HTML {
+ if !p.checkRender() {
+ return template.HTML("")
+ }
+
p.pageOutputInit.Do(func() {
// If Render is called in a range loop, the page output isn't available.
// So, create one.
@@ -126,6 +133,16 @@ func (p *Page) Render(layout ...string) template.HTML {
return p.mainPageOutput.Render(layout...)
}
+// We may fix this in the future, but the layout handling in Render isn't built
+// for list pages.
+func (p *Page) checkRender() bool {
+ if p.Kind != KindPage {
+ p.s.Log.ERROR.Printf(".Render only available for regular pages, not for %q of kind %q", p.Path(), p.Kind)
+ return false
+ }
+ return true
+}
+
// OutputFormats holds a list of the relevant output formats for a given resource.
type OutputFormats []*OutputFormat