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