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:
@@ -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...)
|
||||
}
|
||||
|
Reference in New Issue
Block a user