summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2015-11-02 17:24:50 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2015-11-02 17:24:50 +0100
commit5bda0398e7f865d993118f8826c895fdcdc7bb24 (patch)
tree9762b77d500fdb678e9836d6b3b687d618fe7e5f
parente1729935b5a0159b22f90bd441698889e16d5ca5 (diff)
Export Page.Layout
And at the same time rename and unexport the badly named `Layout()` func. That method is not very usable outside the package. Fixes #1539
-rw-r--r--hugolib/page.go12
-rw-r--r--hugolib/page_test.go8
-rw-r--r--hugolib/path_separators_test.go4
-rw-r--r--hugolib/planner.go2
-rw-r--r--hugolib/site.go2
5 files changed, 14 insertions, 14 deletions
diff --git a/hugolib/page.go b/hugolib/page.go
index 2979822c3..a384c35e7 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -65,7 +65,7 @@ type Page struct {
extension string
contentType string
renderable bool
- layout string
+ Layout string
linkTitle string
frontmatter []byte
rawContent []byte
@@ -302,9 +302,9 @@ func (p *Page) Section() string {
return p.Source.Section()
}
-func (p *Page) Layout(l ...string) []string {
- if p.layout != "" {
- return layouts(p.Type(), p.layout)
+func (p *Page) layouts(l ...string) []string {
+ if p.Layout != "" {
+ return layouts(p.Type(), p.Layout)
}
layout := ""
@@ -541,7 +541,7 @@ func (p *Page) update(f interface{}) error {
published = new(bool)
*published = cast.ToBool(v)
case "layout":
- p.layout = cast.ToString(v)
+ p.Layout = cast.ToString(v)
case "markup":
p.Markup = cast.ToString(v)
case "weight":
@@ -764,7 +764,7 @@ func (p *Page) Render(layout ...string) template.HTML {
if len(layout) > 0 {
l = layouts(p.Type(), layout[0])
} else {
- l = p.Layout()
+ l = p.layouts()
}
return tpl.ExecuteTemplateToHTML(p, l...)
diff --git a/hugolib/page_test.go b/hugolib/page_test.go
index 9134ba6c6..df7daede4 100644
--- a/hugolib/page_test.go
+++ b/hugolib/page_test.go
@@ -502,8 +502,8 @@ func checkPageType(t *testing.T, page *Page, pageType string) {
}
func checkPageLayout(t *testing.T, page *Page, layout ...string) {
- if !listEqual(page.Layout(), layout) {
- t.Fatalf("Page layout is: %s. Expected: %s", page.Layout(), layout)
+ if !listEqual(page.layouts(), layout) {
+ t.Fatalf("Page layout is: %s. Expected: %s", page.layouts(), layout)
}
}
@@ -909,8 +909,8 @@ func TestLayoutOverride(t *testing.T) {
for _, y := range test.expectedLayout {
test.expectedLayout = append(test.expectedLayout, "theme/"+y)
}
- if !listEqual(p.Layout(), test.expectedLayout) {
- t.Errorf("Layout mismatch. Expected: %s, got: %s", test.expectedLayout, p.Layout())
+ if !listEqual(p.layouts(), test.expectedLayout) {
+ t.Errorf("Layout mismatch. Expected: %s, got: %s", test.expectedLayout, p.layouts())
}
}
}
diff --git a/hugolib/path_separators_test.go b/hugolib/path_separators_test.go
index b45d5f331..b3c7c2d9c 100644
--- a/hugolib/path_separators_test.go
+++ b/hugolib/path_separators_test.go
@@ -47,8 +47,8 @@ func TestNewPageWithFilePath(t *testing.T) {
el.layout = append(el.layout, "theme/"+y)
}
- if !listEqual(p.Layout(), el.layout) {
- t.Errorf("[%d] Layout incorrect. got '%s' but expected '%s'", i, p.Layout(), el.layout)
+ if !listEqual(p.layouts(), el.layout) {
+ t.Errorf("[%d] Layout incorrect. got '%s' but expected '%s'", i, p.layouts(), el.layout)
}
}
}
diff --git a/hugolib/planner.go b/hugolib/planner.go
index 7f03bbb0a..f2f19f3fa 100644
--- a/hugolib/planner.go
+++ b/hugolib/planner.go
@@ -18,7 +18,7 @@ func (s *Site) ShowPlan(out io.Writer) (err error) {
fmt.Fprintf(out, " (renderer: n/a)")
}
if s.Tmpl != nil {
- for _, l := range p.Layout() {
+ for _, l := range p.layouts() {
fmt.Fprintf(out, " (layout: %s, exists: %t)", l, s.Tmpl.Lookup(l) != nil)
}
}
diff --git a/hugolib/site.go b/hugolib/site.go
index 743cc0826..7fe9717a5 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -943,7 +943,7 @@ func pageRenderer(s *Site, pages <-chan *Page, results chan<- error, wg *sync.Wa
}
layouts = append(layouts, self)
} else {
- layouts = append(layouts, p.Layout()...)
+ layouts = append(layouts, p.layouts()...)
layouts = append(layouts, "_default/single.html")
}