Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

71 lines (54 sloc) 2.082 kb
Syndication (feed) generator library for golang.
go get
Syndicate provides a simple, generic Feed interface with a generic Item object as well as RSS and Atom specific RssFeed and AtomFeed objects which allow access to all of each spec's defined elements.
Create a Feed and some Items in that feed using the generic interfaces:
import (
. "
now = time.Now()
feed := &Feed{
Title: " blog",
Link: &Link{Href: ""},
Description: "discussion about tech, footie, photos",
Author: &Author{"Jason Moiron", ""},
Created: now,
Copyright: "This work is copyright © Benjamin Button",
feed.Items = []*Item{
Title: "Limiting Concurrency in Go",
Link: &Link{Href: ""},
Description: "A discussion on controlled parallelism in golang",
Author: &Author{"Jason Moiron", ""},
Created: now,
Title: "Logic-less Template Redux",
Link: &Link{Href: ""},
Description: "More thoughts on logicless templates",
Created: now,
Title: "Idiomatic Code Reuse in Go",
Link: &Link{Href: ""},
Description: "How to use interfaces <em>effectively</em>",
Created: now,
From here, you can output Atom or RSS versions of this feed easily
atom, err := feed.ToAtom()
rss, err := feed.ToRss()
You can also get access to the underlying objects that feeds uses to export its XML
atomFeed := &Atom{feed}.AtomFeed()
rssFeed := &Rss{feed}.RssFeed()
From here, you can modify or add each syndication's specific fields before outputting
atomFeed.Subtitle = "plays the blues"
atom, err := ToXML(atomFeed)
rssFeed.Generator = "gorilla/feeds v1.0 ("
rss, err := ToXML(rssFeed)
package feeds
Jump to Line
Something went wrong with that request. Please try again.