pagr

A 'static site generator', built using dati.
Log | Files | Refs | Atom

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:
Mcontent.go | 15++++++++++++++-
Mcontent_test.go | 16+++++++++++++++-
Mpagr.go | 4++--
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