summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-03-25 18:28:38 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-03-27 15:43:56 +0200
commitb7ed67d425524717d3cafdde9a5ce3cb92defdc6 (patch)
tree1c55c98eadd998c25a66fa38227df96207f325d1 /hugolib
parent3cd97951f1cb6d7169a8a84a7b86984c05b2d35c (diff)
hugolib: More TODO fixes
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/menu_old_test.go49
-rw-r--r--hugolib/page.go10
-rw-r--r--hugolib/page_output.go8
-rw-r--r--hugolib/site_render.go5
4 files changed, 11 insertions, 61 deletions
diff --git a/hugolib/menu_old_test.go b/hugolib/menu_old_test.go
index 6076d9062..704a6f70a 100644
--- a/hugolib/menu_old_test.go
+++ b/hugolib/menu_old_test.go
@@ -452,55 +452,6 @@ func doTestSectionPagesMenu(canonifyURLs bool, t *testing.T) {
}
}
-// TODO(bep) output fix or remove
-func _TestTaxonomyNodeMenu(t *testing.T) {
- t.Parallel()
-
- type taxRenderInfo struct {
- key string
- singular string
- plural string
- }
-
- s := setupMenuTests(t, menuPageSources, "canonifyURLs", true)
-
- for i, this := range []struct {
- menu string
- taxInfo taxRenderInfo
- menuItem *MenuEntry
- isMenuCurrent bool
- hasMenuCurrent bool
- }{
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- findTestMenuEntryByID(s, "tax", "1"), true, false},
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- findTestMenuEntryByID(s, "tax", "2"), true, false},
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- &MenuEntry{Name: "Somewhere else", URL: "/somewhereelse"}, false, false},
- } {
-
- p := s.newTaxonomyPage(this.taxInfo.plural, this.taxInfo.key)
-
- isMenuCurrent := p.IsMenuCurrent(this.menu, this.menuItem)
- hasMenuCurrent := p.HasMenuCurrent(this.menu, this.menuItem)
-
- if isMenuCurrent != this.isMenuCurrent {
- t.Errorf("[%d] Wrong result from IsMenuCurrent: %v", i, isMenuCurrent)
- }
-
- if hasMenuCurrent != this.hasMenuCurrent {
- t.Errorf("[%d] Wrong result for menuItem %v for HasMenuCurrent: %v", i, this.menuItem, hasMenuCurrent)
- }
-
- }
-
- menuEntryXML := findTestMenuEntryByID(s, "tax", "xml")
-
- if strings.HasSuffix(menuEntryXML.URL, "/") {
- t.Error("RSS menu item should not be padded with trailing slash")
- }
-}
-
func TestMenuLimit(t *testing.T) {
t.Parallel()
s := setupMenuTests(t, menuPageSources)
diff --git a/hugolib/page.go b/hugolib/page.go
index e23f8e1e8..f32f1ac0b 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -119,8 +119,11 @@ type Page struct {
contentType string
renderable bool
- Layout string
- layoutsCalculated []string
+ Layout string
+
+ // For npn-renderable pages (see IsRenderable), the content itself
+ // is used as template and the template name is stored here.
+ selfLayout string
linkTitle string
@@ -1379,13 +1382,12 @@ func (p *Page) prepareLayouts() error {
// TODO(bep): Check the IsRenderable logic.
if p.Kind == KindPage {
if !p.IsRenderable() {
- // TODO(bep) output
self := "__" + p.UniqueID()
_, err := p.s.Tmpl.GetClone().New(self).Parse(string(p.Content))
if err != nil {
return err
}
- p.layoutsCalculated = []string{self}
+ p.selfLayout = self
}
}
return nil
diff --git a/hugolib/page_output.go b/hugolib/page_output.go
index 5e1a341fc..20d051e8c 100644
--- a/hugolib/page_output.go
+++ b/hugolib/page_output.go
@@ -48,8 +48,7 @@ func (p *PageOutput) targetPath(addends ...string) (string, error) {
}
func newPageOutput(p *Page, createCopy bool, f output.Format) (*PageOutput, error) {
- // For tests
- // TODO(bep) output get rid of this
+ // TODO(bep) This is only needed for tests and we should get rid of it.
if p.targetPathDescriptorPrototype == nil {
if err := p.initTargetPathDescriptor(); err != nil {
return nil, err
@@ -87,9 +86,8 @@ func (p *PageOutput) copy() *PageOutput {
}
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
+ if len(layouts) == 0 && p.selfLayout != "" {
+ return []string{p.selfLayout}
}
layoutOverride := ""
diff --git a/hugolib/site_render.go b/hugolib/site_render.go
index a63b57e4d..be512fe48 100644
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -79,9 +79,8 @@ func pageRenderer(s *Site, pages <-chan *Page, results chan<- error, wg *sync.Wa
var layouts []string
- if len(pageOutput.layoutsCalculated) > 0 {
- // TODO(bep) output
- layouts = pageOutput.layoutsCalculated
+ if page.selfLayout != "" {
+ layouts = []string{page.selfLayout}
} else {
layouts = s.layouts(pageOutput)
}