diff --git a/main.go b/main.go index 4a607c5..0119958 100644 --- a/main.go +++ b/main.go @@ -71,6 +71,11 @@ func htmlWrap(d *string) string { return header + *d + footer } +// publishedAfter returns true if a was updated after b. +func publishedAfter(a, b *feeds.Item) bool { + return b.Updated.Before(a.Updated) +} + var tagData map[string][]pageInfo = make(map[string][]pageInfo) var feed *feeds.Feed = &feeds.Feed{ @@ -423,6 +428,8 @@ func main() { gemFeed.Add(&gi) HTMLFeed.Add(&hi) } + gemFeed.Sort(publishedAfter) + HTMLFeed.Sort(publishedAfter) fe, err := gemFeed.ToAtom() if err != nil { panic(err) @@ -439,6 +446,23 @@ func main() { if err != nil { panic(err) } + gp, err := os.Create(filepath.Join(geminiOutputDir, "edits.gmi")) + defer gp.Close() + if err != nil { + panic(err) + } + err = templates.ExecuteTemplate(gp, "edits.gmi", gemFeed) + if err != nil { + panic(err) + } + gp, err = os.Create(filepath.Join(htmlOutputDir, "edits.html")) + if err != nil { + panic(err) + } + err = templates.ExecuteTemplate(gp, "edits.html", HTMLFeed) + if err != nil { + panic(err) + } j, err := json.Marshal(tagData) err = ioutil.WriteFile(tagFile, j, 0644) if err != nil {