1package main
2
3import (
4 "fmt"
5
6 "github.com/mmcdole/gofeed"
7)
8
9func getRSSReleases(p project) (project, error) {
10 fp := gofeed.NewParser()
11 feed, err := fp.ParseURL(p.URL + "/releases.atom")
12 if err != nil {
13 fmt.Println(err)
14 return p, err
15 }
16
17 for _, item := range feed.Items {
18 p.Releases = append(p.Releases, release{
19 Tag: bmStrict.Sanitize(item.Title),
20 Content: bmUGC.Sanitize(item.Content),
21 URL: bmStrict.Sanitize(item.Link),
22 Date: *item.PublishedParsed,
23 })
24 }
25
26 // TODO: Doesn't seem to work?
27 // sort.Slice(p.Releases, func(i, j int) bool { return p.Releases[i].Date.After(p.Releases[j].Date) })
28
29 return p, nil
30}