Rssmon2/rss/xml.go

30 lines
689 B
Go

package rss
import (
"fmt"
"net/url"
"github.com/gorilla/feeds"
)
func ToRSS(feed *Feed, items []*Item) (string, error) {
root := &feeds.Feed{
Title: feed.Title,
Link: &feeds.Link{Href: feed.Link},
Description: fmt.Sprintf("/%s/ /%s/", feed.ItemFilter, feed.ContentFilter),
Created: feed.Updated,
}
root.Items = make([]*feeds.Item, len(items))
for i := range items {
v := &url.Values{}
v.Add("url", feed.ID()+"."+items[i].ID())
root.Items[i] = &feeds.Item{
Title: items[i].Name,
Link: &feeds.Link{Href: "/api/feed/item?" + v.Encode()},
Description: items[i].Content,
Created: items[i].TS,
}
}
return root.ToRss()
}