hugolib: Deprecate Pages.Sort
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 21 Sep 2018 12:23:00 +0000 (14:23 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 21 Sep 2018 12:23:00 +0000 (14:23 +0200)
In favour of ByWeight.

hugolib/hugo_sites.go
hugolib/pageSort.go
hugolib/pageSort_test.go
hugolib/page_bundler.go
hugolib/pages_language_merge.go
hugolib/site_sections.go

index e5358ec195c472d4f89f5e7217e41c324b387fbd..88715a86ecb1bd7a7b1d8f0eef2f7f46d060a2d3 100644 (file)
@@ -525,10 +525,10 @@ func (h *HugoSites) createMissingPages() error {
 
                first.AllPages = append(first.AllPages, newPages...)
 
-               first.AllPages.Sort()
+               first.AllPages.sort()
 
                for _, s := range h.Sites {
-                       s.Pages.Sort()
+                       s.Pages.sort()
                }
 
                for i := 1; i < len(h.Sites); i++ {
@@ -574,7 +574,7 @@ func (h *HugoSites) setupTranslations() {
                allPages = append(allPages, s.Pages...)
        }
 
-       allPages.Sort()
+       allPages.sort()
 
        for _, s := range h.Sites {
                s.AllPages = allPages
index dfd17b2b0ffa2d29bd5b0e49ff8bf992a1b574f0..92b767ffe839fe59fb4eab7f206b725bf66b8aee 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2015 The Hugo Authors. All rights reserved.
+// Copyright 2018 The Hugo Authors. All rights reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -14,6 +14,8 @@
 package hugolib
 
 import (
+       "github.com/gohugoio/hugo/helpers"
+
        "sort"
 
        "github.com/spf13/cast"
@@ -98,6 +100,12 @@ func (ps *pageSorter) Less(i, j int) bool { return ps.by(ps.pages[i], ps.pages[j
 // Sort sorts the pages by the default sort order defined:
 // Order by Weight, Date, LinkTitle and then full file path.
 func (p Pages) Sort() {
+       // Remove in Hugo 0.51
+       helpers.Deprecated("Pages", "Sort", "Use .ByWeight", false)
+       p.sort()
+}
+
+func (p Pages) sort() {
        pageBy(defaultPageSort).Sort(p)
 }
 
index f842ecd7877a70ea47e38b60c03b7de47c15a5bc..bc4be1cb0f08c71d62992e8033941f601b646f5b 100644 (file)
@@ -35,24 +35,24 @@ func TestDefaultSort(t *testing.T) {
 
        // first by weight
        setSortVals([4]time.Time{d1, d2, d3, d4}, [4]string{"b", "a", "c", "d"}, [4]int{4, 3, 2, 1}, p)
-       p.Sort()
+       p.sort()
 
        assert.Equal(t, 1, p[0].Weight)
 
        // Consider zero weight, issue #2673
        setSortVals([4]time.Time{d1, d2, d3, d4}, [4]string{"b", "a", "d", "c"}, [4]int{0, 0, 0, 1}, p)
-       p.Sort()
+       p.sort()
 
        assert.Equal(t, 1, p[0].Weight)
 
        // next by date
        setSortVals([4]time.Time{d3, d4, d1, d2}, [4]string{"a", "b", "c", "d"}, [4]int{1, 1, 1, 1}, p)
-       p.Sort()
+       p.sort()
        assert.Equal(t, d1, p[0].Date)
 
        // finally by link title
        setSortVals([4]time.Time{d3, d3, d3, d3}, [4]string{"b", "c", "a", "d"}, [4]int{1, 1, 1, 1}, p)
-       p.Sort()
+       p.sort()
        assert.Equal(t, "al", p[0].LinkTitle())
        assert.Equal(t, "bl", p[1].LinkTitle())
        assert.Equal(t, "cl", p[2].LinkTitle())
index fc135f6b7ee8bd48b0cbc90e0a99d2862ecd21c8..6870dc15296ae3643b0be3bdde25b26903591122 100644 (file)
@@ -192,7 +192,7 @@ func (s *siteContentProcessor) process(ctx context.Context) error {
                return err
        }
 
-       s.site.rawAllPages.Sort()
+       s.site.rawAllPages.sort()
 
        return nil
 
index ef87ac9cbf860436450ff7c02219466f60167e9f..8bbae9a127140367acc90e702f1dc84ca0d667ec 100644 (file)
@@ -42,7 +42,7 @@ func (p1 Pages) MergeByLanguage(p2 Pages) Pages {
                        }
                }
 
-               pages.Sort()
+               pages.sort()
        }
 
        out, _ := spc.getP("pages.MergeByLanguage", merge, p1, p2)
index 15b96e1a7bf87492879ee02d374d7570d0292ba6..d27b316142ccb645fc0a910994539754fb6b9b46 100644 (file)
@@ -326,7 +326,7 @@ func (s *Site) assembleSections() Pages {
 
        for _, sect := range sectionPages {
                if sect.parent != nil {
-                       sect.parent.subSections.Sort()
+                       sect.parent.subSections.sort()
                }
 
                for i, p := range sect.Pages {
@@ -356,7 +356,7 @@ func (s *Site) assembleSections() Pages {
 }
 
 func (p *Page) setPagePages(pages Pages) {
-       pages.Sort()
+       pages.sort()
        p.Pages = pages
        p.data = make(map[string]interface{})
        p.data["Pages"] = pages