riviera

command module
v0.0.0-...-44d4e1f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2022 License: MIT Imports: 17 Imported by: 0

README

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.

Documentation

Overview

Riviera is a feed aggregator.

Directories

Path Synopsis
Package feed provides a feed fetcher capable of reading multiple formats into a common structure.
Package feed provides a feed fetcher capable of reading multiple formats into a common structure.
atom
Package atom provides a parser for Atom feeds.
Package atom provides a parser for Atom feeds.
common
Package common contains structs for a unified feed format.
Package common contains structs for a unified feed format.
hfeed
Package hfeed provides a parser for h-feeds.
Package hfeed provides a parser for h-feeds.
jsonfeed
Package jsonfeed provides a parser for the jsonfeed format.
Package jsonfeed provides a parser for the jsonfeed format.
rdf
Package rdf provides a parser for RDF Site Summary (RSS) 1.0.
Package rdf provides a parser for RDF Site Summary (RSS) 1.0.
rss
Package rss provides a parser for RSS v2.0 feeds.
Package rss provides a parser for RSS v2.0 feeds.
Package river aggregates feeds into a riverjs file.
Package river aggregates feeds into a riverjs file.
confluence
Package confluence manages a list of subscribed feeds.
Package confluence manages a list of subscribed feeds.
data
Package data provides the ability to rebuild previous feeds and remove duplicate items.
Package data provides the ability to rebuild previous feeds and remove duplicate items.
data/boltdata
Package boltdata implements data over a bolt database.
Package boltdata implements data over a bolt database.
data/memdata
Package memdata implements data over a set of in memory maps.
Package memdata implements data over a set of in memory maps.
events
Package events keeps track of the results of fetching feeds.
Package events keeps track of the results of fetching feeds.
mapping
Package mapping converts a feed item into a riverjs item.
Package mapping converts a feed item into a riverjs item.
riverjs
Package riverjs contains structs that map to the parts of a riverjs feed.
Package riverjs contains structs that map to the parts of a riverjs feed.
tributary
Package tributary fetches a single feed.
Package tributary fetches a single feed.
Package subscriptions implements a list of feeds along with operations to modify the list.
Package subscriptions implements a list of feeds along with operations to modify the list.
opml
Package opml implements functions capable of parsing opml files containing a list of feed subscriptions.
Package opml implements functions capable of parsing opml files containing a list of feed subscriptions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL