URI: 
       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