Riviera
A river-of-news style feed aggregator, using river.js.
$ go get hawx.me/code/riviera
$ riviera --boltdb ./mydb feeds.xml
...
Riviera expects a list of feeds to subscribe to be passed. This is given in
OPML subscription list format. An example,
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.1">
<head>
<title>Subscriptions</title>
</head>
<body>
<outline type="rss" xmlUrl="http://feeds.bbci.co.uk/news/uk/rss.xml"></outline>
<outline type="rss" xmlUrl="http://feeds2.feedburner.com/TheAwl"></outline>
<outline type="rss" xmlUrl="http://feeds.kottke.org/main"></outline>
</body>
</opml>
By default an in-memory database is used, it is more useful to use the
--boltdb
option to create/open a database on disk.
The riverjs document is served at /river
and a log of recent fetcher activity
is served at /river/log
.
See riviera --help
for a full list of options.
Reading
The output from riviera should be compatible with any application that can read
riverjs format feeds. I currently use rivelin to read my feeds, but I have
in the past used necolas/newsriver-ui.
In either case you will need to follow the instructions given and put the
correct url to the generated file, remembering that it will be
http://example.com/river/
not http://example.com/
.
Subscribing / Unsubscribing
Riviera watches the file containing your subscription list for changes and will
attempt to update the feeds it is subscribed to based on changes to it.
That said it isn't the best experience to have to modify a file on a server to
subscribe to a feed. Using riviera-admin provides a simple admin interface,
including a bookmarklet to subscribe to a site's feed.