1
0
mirror of https://github.com/gohugoio/hugo.git synced 2024-05-11 05:54:58 +00:00

hubolib: Pick layout per output format

This commit is contained in:
Bjørn Erik Pedersen
2017-03-19 15:25:32 +01:00
parent 08fa2b1124
commit c7c6b47ba8
5 changed files with 33 additions and 41 deletions

View File

@@ -14,6 +14,7 @@
package hugolib
import (
"html/template"
"sync"
"github.com/spf13/hugo/output"
@@ -81,3 +82,30 @@ func (p *PageOutput) copy() *PageOutput {
}
return c
}
func (p *PageOutput) layouts(layouts ...string) []string {
// TODO(bep) output the logic here needs to be redone.
if len(layouts) == 0 && len(p.layoutsCalculated) > 0 {
return p.layoutsCalculated
}
layoutOverride := ""
if len(layouts) > 0 {
layoutOverride = layouts[0]
}
return p.s.layoutHandler.For(
p.layoutDescriptor,
layoutOverride,
p.outputFormat)
}
func (p *PageOutput) Render(layout ...string) template.HTML {
l := p.layouts(layout...)
return p.s.Tmpl.ExecuteTemplateToHTML(p, l...)
}
// TODO(bep) output
func (p *Page) Render(layout ...string) template.HTML {
return p.mainPageOutput.Render(layout...)
}