commit 41a0db4e3d0f4c424e4190402b261ec6daf25cda
parent 5e0f61c65b4a2bb48b375ae7871791eee7067f19
Author: gearsix <gearsix@tuta.io>
Date: Wed, 14 Jul 2021 16:20:44 +0100
Contents are sorted by latest->oldest .Updated; updated content_test.go
Diffstat:
3 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/content.go b/content.go
@@ -130,7 +130,20 @@ func LoadContentDir(dir string) (c Content, e error) {
})
for _, page := range pages {
- c = append(c, page)
+ l := len(c)
+ for i, _ := range c {
+ if page.Updated.After(c[i].Updated) {
+ if i == 0 {
+ c = append([]Page{page}, c...)
+ } else {
+ c = append(c[:i-1], append([]Page{page}, c[i:]...)...)
+ }
+ break
+ }
+ }
+ if len(c) == l {
+ c = append(c, page)
+ }
}
return c, e
diff --git a/content_test.go b/content_test.go
@@ -3,6 +3,7 @@ package main
import (
"fmt"
"os"
+ "time"
"testing"
)
@@ -29,7 +30,11 @@ func validateContents(t *testing.T, c Content, e error) {
len(c), len(contents))
}
- for _, p := range c {
+ var last time.Time
+ for i, p := range c {
+ if len(p.Title) == 0 {
+ t.Fatal("empty Title for page:\n", p)
+ }
if len(p.Path) == 0 {
t.Fatalf("empty Path for page:\n%s\n", p)
}
@@ -42,6 +47,15 @@ func validateContents(t *testing.T, c Content, e error) {
if len(p.Assets) == 0 {
t.Fatalf("empty Assets for page:\n%s\n", p)
}
+
+ if i == 0 {
+ last = p.Updated
+ } else if p.Updated.After(last) {
+ for _, pp := range c {
+ t.Log(pp.Updated)
+ }
+ t.Fatalf("Contents Pages returned in wrong order")
+ }
}
}
diff --git a/pagr.go b/pagr.go
@@ -35,11 +35,11 @@ func check(err error) {
func init() {
flag.StringVar(&cfg, "cfg", "", "path to pagr project configuration file")
flag.BoolVar(&verbose, "v", false, "print verbose logs")
- flag.Parse()
- vlog("verbose on")
}
func main() {
+ flag.Parse()
+ vlog("verbose on")
var err error
var config Config