hugolib: Add terms' pages to .Data.Pages - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit e117b1b2c7d18f25e1b7094fd7edb5e12721b79d
 (DIR) parent 9e6b5eb98e964acd8840482a29db72d5868c9b14
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Wed, 22 Feb 2017 21:13:21 +0100
       
       hugolib: Add terms' pages to .Data.Pages
       
       Fixes #2826
       
       Diffstat:
         M hugolib/page.go                     |       9 ++++++++-
         M hugolib/taxonomy_test.go            |      12 ++++++++++++
       
       2 files changed, 20 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/hugolib/page.go b/hugolib/page.go
       @@ -1595,10 +1595,17 @@ func (p *Page) prepareData(s *Site) error {
                case KindTaxonomyTerm:
                        plural := p.sections[0]
                        singular := s.taxonomiesPluralSingular[plural]
       +                terms := s.Taxonomies[plural]
       +
       +                for _, tax := range terms {
       +                        pages = append(pages, tax.Pages()...)
       +                }
       +
       +                pages = pages.ByWeight()
        
                        p.Data["Singular"] = singular
                        p.Data["Plural"] = plural
       -                p.Data["Terms"] = s.Taxonomies[plural]
       +                p.Data["Terms"] = terms
                        // keep the following just for legacy reasons
                        p.Data["OrderedIndex"] = p.Data["Terms"]
                        p.Data["Index"] = p.Data["Terms"]
 (DIR) diff --git a/hugolib/taxonomy_test.go b/hugolib/taxonomy_test.go
       @@ -84,6 +84,7 @@ others:
        
                writeSource(t, fs, "content/p1.md", fmt.Sprintf(pageTemplate, "t1/c1", "- tag1", "- cat1", "- o1"))
                writeSource(t, fs, "content/p2.md", fmt.Sprintf(pageTemplate, "t2/c1", "- tag2", "- cat1", "- o1"))
       +        writeSource(t, fs, "content/p3.md", fmt.Sprintf(pageTemplate, "t2/c12", "- tag2", "- cat2", "- o1"))
        
                writeNewContentFile(t, fs, "Category Terms", "2017-01-01", "content/categories/_index.md", 10)
                writeNewContentFile(t, fs, "Tag1 List", "2017-01-01", "content/tags/tag1/_index.md", 10)
       @@ -110,4 +111,15 @@ others:
                th.assertFileContent("public/others/o1/index.html", "List", "O1")
                th.assertFileContent("public/others/index.html", "Terms List", "Others")
        
       +        s := h.Sites[0]
       +        cat1 := s.getPage(KindTaxonomy, "categories", "cat1")
       +        require.NotNil(t, cat1)
       +        require.Len(t, cat1.Pages, 2)
       +
       +        cat := s.getPage(KindTaxonomyTerm, "categories")
       +        require.NotNil(t, cat)
       +        require.Len(t, cat.Pages, 3)
       +        require.Len(t, cat.Data["Pages"], 3)
       +        require.Equal(t, "t1/c1", cat.Pages[0].Title)
       +
        }