Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gorilla/feeds
Package gorilla/feeds is a golang rss/atom generator library
https://github.com/gorilla/feeds
atom feeds go golang gorilla gorilla-web-toolkit rss
Last synced: 4 days ago
JSON representation
Package gorilla/feeds is a golang rss/atom generator library
- Host: GitHub
- URL: https://github.com/gorilla/feeds
- Owner: gorilla
- License: bsd-3-clause
- Created: 2013-01-15T22:27:09.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2024-06-17T10:41:56.000Z (5 months ago)
- Last Synced: 2024-08-02T14:09:43.014Z (3 months ago)
- Topics: atom, feeds, go, golang, gorilla, gorilla-web-toolkit, rss
- Language: Go
- Homepage: https://gorilla.github.io
- Size: 86.9 KB
- Stars: 732
- Watchers: 24
- Forks: 148
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - gorilla/feeds - web-toolkit,rss pushed_at:2024-06 star:0.7k fork:0.1k Package gorilla/feeds is a golang rss/atom generator library (Go)
- awesome-starred-test - gorilla/feeds - Package gorilla/feeds is a golang rss/atom generator library (Go)
- go-awesome - Feeds - RSS feed generation (Open source library / Word Processing)
README
## gorilla/feeds
![testing](https://github.com/gorilla/feeds/actions/workflows/test.yml/badge.svg)
[![codecov](https://codecov.io/github/gorilla/feeds/branch/main/graph/badge.svg)](https://codecov.io/github/gorilla/feeds)
[![godoc](https://godoc.org/github.com/gorilla/feeds?status.svg)](https://godoc.org/github.com/gorilla/feeds)
[![sourcegraph](https://sourcegraph.com/github.com/gorilla/feeds/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/feeds?badge)![Gorilla Logo](https://github.com/gorilla/.github/assets/53367916/d92caabf-98e0-473e-bfbf-ab554ba435e5)
feeds is a web feed generator library for generating RSS, Atom and JSON feeds from Go
applications.### Goals
* Provide a simple interface to create both Atom & RSS 2.0 feeds
* Full support for [Atom][atom], [RSS 2.0][rss], and [JSON Feed Version 1][jsonfeed] spec elements
* Ability to modify particulars for each spec[atom]: https://tools.ietf.org/html/rfc4287
[rss]: http://www.rssboard.org/rss-specification
[jsonfeed]: https://jsonfeed.org/version/1.1### Usage
```go
package mainimport (
"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: "[email protected]"},
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: "[email protected]"},
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)
}json, err := feed.ToJSON()
if err != nil {
log.Fatal(err)
}fmt.Println(atom, "\n", rss, "\n", json)
}
```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
[email protected]
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
[email protected] (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
{
"version": "https://jsonfeed.org/version/1.1",
"title": "jmoiron.net blog",
"home_page_url": "http://jmoiron.net/blog",
"description": "discussion about tech, footie, photos",
"author": {
"name": "Jason Moiron"
},
"authors": [
{
"name": "Jason Moiron"
}
],
"items": [
{
"id": "",
"url": "http://jmoiron.net/blog/limiting-concurrency-in-go/",
"title": "Limiting Concurrency in Go",
"summary": "A discussion on controlled parallelism in golang",
"date_published": "2013-01-16T03:22:24.530817846-05:00",
"author": {
"name": "Jason Moiron"
},
"authors": [
{
"name": "Jason Moiron"
}
]
},
{
"id": "",
"url": "http://jmoiron.net/blog/logicless-template-redux/",
"title": "Logic-less Template Redux",
"summary": "More thoughts on logicless templates",
"date_published": "2013-01-16T03:22:24.530817846-05:00"
},
{
"id": "",
"url": "http://jmoiron.net/blog/idiomatic-code-reuse-in-go/",
"title": "Idiomatic Code Reuse in Go",
"summary": "How to use interfaces \u003cem\u003eeffectively\u003c/em\u003e",
"date_published": "2013-01-16T03:22:24.530817846-05:00"
}
]
}
```