## gorilla/feeds [![GoDoc](https://godoc.org/github.com/gorilla/feeds?status.svg)](https://godoc.org/github.com/gorilla/feeds) [![Build Status](https://travis-ci.org/gorilla/feeds.png?branch=master)](https://travis-ci.org/gorilla/feeds) feeds is a web feed generator library for generating RSS and Atom feeds from Go applications. ### Goals * Provide a simple interface to create both Atom & RSS 2.0 feeds * Full support for Atom and RSS2.0 spec elements * Ability to modify particulars for each spec ### Usage ```go package main import ( "fmt" "log" "time" "github.com/gorilla/feeds" ) func main() { now := time.Now() feed := &feeds.Feed{ Title: "jmoiron.net blog", Link: &feeds.Link{Href: "http://jmoiron.net/blog"}, Description: "discussion about tech, footie, photos", Author: &feeds.Author{Name: "Jason Moiron", Email: "jmoiron@jmoiron.net"}, Created: now, } feed.Items = []*feeds.Item{ &feeds.Item{ Title: "Limiting Concurrency in Go", Link: &feeds.Link{Href: "http://jmoiron.net/blog/limiting-concurrency-in-go/"}, Description: "A discussion on controlled parallelism in golang", Author: &feeds.Author{Name: "Jason Moiron", Email: "jmoiron@jmoiron.net"}, Created: now, }, &feeds.Item{ Title: "Logic-less Template Redux", Link: &feeds.Link{Href: "http://jmoiron.net/blog/logicless-template-redux/"}, Description: "More thoughts on logicless templates", Created: now, }, &feeds.Item{ Title: "Idiomatic Code Reuse in Go", Link: &feeds.Link{Href: "http://jmoiron.net/blog/idiomatic-code-reuse-in-go/"}, Description: "How to use interfaces effectively", Created: now, }, } atom, err := feed.ToAtom() if err != nil { log.Fatal(err) } rss, err := feed.ToRss() if err != nil { log.Fatal(err) } fmt.Println(atom, "\n", rss) } ``` Outputs: ```xml jmoiron.net blog http://jmoiron.net/blog 2013-01-16T03:26:01-05:00 discussion about tech, footie, photos Limiting Concurrency in Go 2013-01-16T03:26:01-05:00 tag:jmoiron.net,2013-01-16:/blog/limiting-concurrency-in-go/ A discussion on controlled parallelism in golang Jason Moiron jmoiron@jmoiron.net Logic-less Template Redux 2013-01-16T03:26:01-05:00 tag:jmoiron.net,2013-01-16:/blog/logicless-template-redux/ More thoughts on logicless templates Idiomatic Code Reuse in Go 2013-01-16T03:26:01-05:00 tag:jmoiron.net,2013-01-16:/blog/idiomatic-code-reuse-in-go/ How to use interfaces <em>effectively</em> jmoiron.net blog http://jmoiron.net/blog discussion about tech, footie, photos jmoiron@jmoiron.net (Jason Moiron) 2013-01-16T03:22:24-05:00 Limiting Concurrency in Go http://jmoiron.net/blog/limiting-concurrency-in-go/ A discussion on controlled parallelism in golang 2013-01-16T03:22:24-05:00 Logic-less Template Redux http://jmoiron.net/blog/logicless-template-redux/ More thoughts on logicless templates 2013-01-16T03:22:24-05:00 Idiomatic Code Reuse in Go http://jmoiron.net/blog/idiomatic-code-reuse-in-go/ How to use interfaces <em>effectively</em> 2013-01-16T03:22:24-05:00 ```