ref: b7ed67d425524717d3cafdde9a5ce3cb92defdc6
parent: 3cd97951f1cb6d7169a8a84a7b86984c05b2d35c
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Mar 25 14:28:38 EDT 2017
hugolib: More TODO fixes
--- a/hugolib/menu_old_test.go
+++ b/hugolib/menu_old_test.go
@@ -452,55 +452,6 @@
}
}
-// 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)
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -119,9 +119,12 @@
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
frontmatter []byte
@@ -1379,13 +1382,12 @@
// 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
--- a/hugolib/page_output.go
+++ b/hugolib/page_output.go
@@ -48,8 +48,7 @@
}
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) 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 := ""
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -79,9 +79,8 @@
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)
}
--- a/output/layout.go
+++ b/output/layout.go
@@ -30,7 +30,6 @@
}
// Layout calculates the layout template to use to render a given output type.
-// TODO(bep) output improve names
type LayoutHandler struct {
hasTheme bool