package feed import ( "net/http" "strings" "time" "github.com/mmcdole/gofeed" ) func Fetch(s string) ([]Item, error) { resp, err := http.Get(s) if err != nil { return nil, err } defer resp.Body.Close() gofeed, err := gofeed.NewParser().Parse(resp.Body) if err != nil { return nil, err } links := make([]Item, 0) for _, item := range gofeed.Items { timestamp := strings.Split(item.Title, " ")[1] t, err := time.Parse("1/2/06", timestamp) if err == nil { links = append(links, Item{ Link: item.Link, Title: strings.ReplaceAll(item.Title, "/", "-"), Date: t, }) } } return links, nil }