summaryrefslogtreecommitdiff
path: root/vendor/github.com/gorilla/feeds/doc.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-10-08 14:00:39 +0200
committerLibravatar GitHub <noreply@github.com>2022-10-08 14:00:39 +0200
commit80663061d8f361ae4bcea1307a10a40c41174ebe (patch)
tree999f9e8decfb3e6e211e8462415103819eddd1c2 /vendor/github.com/gorilla/feeds/doc.go
parent[chore] Standardize database queries, use `bun.Ident()` properly (#886) (diff)
downloadgotosocial-80663061d8f361ae4bcea1307a10a40c41174ebe.tar.xz
[feature] Add opt-in RSS feed for account's latest Public posts (#897)
* start adding rss functionality * add gorilla/feeds dependency * first bash at building rss feed still needs work, this is an interim commit * tidy up a bit * add publicOnly option to GetAccountLastPosted * implement rss endpoint * fix test * add initial user docs for rss * update rss logo * docs update * add rssFeed to frontend * feed -> feed.rss * enableRSS * increase rss logo size a lil bit * add rss toggle * move emojify to text package * fiddle with rss feed formatting * add Text field to test statuses * move status to rss item to typeconverter * update bun schema for enablerss * simplify 304 checking * assume account not rss * update tests * update swagger docs * allow more characters in title, trim nicer * update last posted to be more consistent
Diffstat (limited to 'vendor/github.com/gorilla/feeds/doc.go')
-rw-r--r--vendor/github.com/gorilla/feeds/doc.go73
1 files changed, 73 insertions, 0 deletions
diff --git a/vendor/github.com/gorilla/feeds/doc.go b/vendor/github.com/gorilla/feeds/doc.go
new file mode 100644
index 000000000..4e0759ccc
--- /dev/null
+++ b/vendor/github.com/gorilla/feeds/doc.go
@@ -0,0 +1,73 @@
+/*
+Syndication (feed) generator library for golang.
+
+Installing
+
+ go get github.com/gorilla/feeds
+
+Feeds provides a simple, generic Feed interface with a generic Item object as well as RSS, Atom and JSON Feed specific RssFeed, AtomFeed and JSONFeed objects which allow access to all of each spec's defined elements.
+
+Examples
+
+Create a Feed and some Items in that feed using the generic interfaces:
+
+ import (
+ "time"
+ . "github.com/gorilla/feeds"
+ )
+
+ now = time.Now()
+
+ feed := &Feed{
+ Title: "jmoiron.net blog",
+ Link: &Link{Href: "http://jmoiron.net/blog"},
+ Description: "discussion about tech, footie, photos",
+ Author: &Author{Name: "Jason Moiron", Email: "jmoiron@jmoiron.net"},
+ Created: now,
+ Copyright: "This work is copyright © Benjamin Button",
+ }
+
+ feed.Items = []*Item{
+ &Item{
+ Title: "Limiting Concurrency in Go",
+ Link: &Link{Href: "http://jmoiron.net/blog/limiting-concurrency-in-go/"},
+ Description: "A discussion on controlled parallelism in golang",
+ Author: &Author{Name: "Jason Moiron", Email: "jmoiron@jmoiron.net"},
+ Created: now,
+ },
+ &Item{
+ Title: "Logic-less Template Redux",
+ Link: &Link{Href: "http://jmoiron.net/blog/logicless-template-redux/"},
+ Description: "More thoughts on logicless templates",
+ Created: now,
+ },
+ &Item{
+ Title: "Idiomatic Code Reuse in Go",
+ Link: &Link{Href: "http://jmoiron.net/blog/idiomatic-code-reuse-in-go/"},
+ Description: "How to use interfaces <em>effectively</em>",
+ Created: now,
+ },
+ }
+
+From here, you can output Atom, RSS, or JSON Feed versions of this feed easily
+
+ atom, err := feed.ToAtom()
+ rss, err := feed.ToRss()
+ json, err := feed.ToJSON()
+
+You can also get access to the underlying objects that feeds uses to export its XML
+
+ atomFeed := (&Atom{Feed: feed}).AtomFeed()
+ rssFeed := (&Rss{Feed: feed}).RssFeed()
+ jsonFeed := (&JSON{Feed: feed}).JSONFeed()
+
+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 (github.com/gorilla/feeds)"
+ rss, err := ToXML(rssFeed)
+ jsonFeed.NextUrl = "https://www.example.com/feed.json?page=2"
+ json, err := jsonFeed.ToJSON()
+*/
+package feeds