hugolib: More TODO fixes - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit b7ed67d425524717d3cafdde9a5ce3cb92defdc6
DIR parent 3cd97951f1cb6d7169a8a84a7b86984c05b2d35c
HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Sat, 25 Mar 2017 18:28:38 +0100
hugolib: More TODO fixes
Diffstat:
M hugolib/menu_old_test.go | 49 -------------------------------
M hugolib/page.go | 10 ++++++----
M hugolib/page_output.go | 8 +++-----
M hugolib/site_render.go | 5 ++---
M output/layout.go | 1 -
5 files changed, 11 insertions(+), 62 deletions(-)
---
DIR diff --git 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)
DIR diff --git 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
DIR diff --git 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 := ""
DIR diff --git 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)
}
DIR diff --git a/output/layout.go b/output/layout.go
@@ -30,7 +30,6 @@ type LayoutDescriptor struct {
}
// Layout calculates the layout template to use to render a given output type.
-// TODO(bep) output improve names
type LayoutHandler struct {
hasTheme bool