aboutsummaryrefslogtreecommitdiff
path: root/page/pagelist.go
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2021-07-12 23:06:42 -0400
committerMitchell Riedstra <mitch@riedstra.dev>2021-07-12 23:06:42 -0400
commit2734c671324e980ef7424e367461ebaa4e0034a5 (patch)
treed4ee457c18002011b9e5a5927baa34e5b6d7b16c /page/pagelist.go
parent3f47f136de6a79adedbe16329586944c6a90ee65 (diff)
downloadgo-website-2734c671324e980ef7424e367461ebaa4e0034a5.tar.gz
go-website-2734c671324e980ef7424e367461ebaa4e0034a5.tar.xz
Add atom feed to site, require config.yml
Diffstat (limited to 'page/pagelist.go')
-rw-r--r--page/pagelist.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/page/pagelist.go b/page/pagelist.go
index a5cf844..f2140f9 100644
--- a/page/pagelist.go
+++ b/page/pagelist.go
@@ -8,6 +8,22 @@ import (
// by the date, or date reversed
type PageList []*Page
+// RemoveDateless returns two PageLists, the first with valid dates,
+// and the second without. This is useful if you need a PageList which
+// will run SortDate and SortDateReverse without issue
+func (p PageList) RemoveDateless() (PageList, PageList) {
+ with := PageList{}
+ without := PageList{}
+ for _, p := range p {
+ if p.Date != nil {
+ with = append(with, p)
+ } else {
+ without = append(without, p)
+ }
+ }
+ return with, without
+}
+
func (p PageList) SortDate() PageList {
sort.Slice(p, func(i, j int) bool {
return p[i].Time().After(p[j].Time())