DO NOT CLICK HERE IF YOU ARE MADE OUT FLESH

rsswall

Latest tarball rsswall-48.85a4824a.tar.gz (changelog) (atom feed)
Clonehttps://thebus.top/depot/rsswall.git
BrowserCurrent source code
DownloadAll commits

A minimal Wall of Text feed aggregator

rsswall fetches a list of RSS/ATOM feeds specified in input and generates a static web page from them to stdout as output, with the different feeds being like post-its on a wallboard. It's similar in spirit to upstract/popurls, but it's leaner, fully customisable and open source.

It has been meant to be hosted on a pre-existing webserver.

You can see a demo there.

Features

Note that rsswall is considered feature complete because i love its simplicity, it's so simple that you better fork it for your own customisations. Bugs and naivety fixes are welcome though.

Quickstart and usage

rsswall only requires golang (1.23 or later) and make:

$ git clone https://thebus.top/depot/rsswall.git
$ cd rsswall
$ make
$ ./rsswall feeds.example > /tmp/rsswall.html

For the next runs it's just:

$ ./rsswall feeds.example > /tmp/rsswall.html

rsswall operates silently and will only report error/warnings.

Feedlist

rsswall uses a simple feedlist format, similar to newsboat (there are compatible actually as i'm writing this), but with an extension.

I recommend reading the provided feeds.example, but here are the rules:

Install

Note that there are install/uninstall make targets for convenience if you want a system-wide install.

Cronjob

rsswall needs to be run periodically through cron (or via a systemd timer), to do so, as user:

$ crontab -e

And add the following line, here we'll run rsswall every 30 minutes:

*/30 * * * * /where/is/rsswall /where/is/your/feedlist.txt > /where/to/put/the/html/file.html

Customisation

Because rsswall is self contained, any change i'm detailing here will indeed require to rebuild the binary.

The "views" directory

There you can find the HTML template used, layout.html. There is also the favicon as favicon.png. Note that if you want to change the favicon it has to be a PNG file unless you modify layout.html's and main.go.

Removing totally the favicon "feature" will require to modify main.go as well.

main.go

While the default settings are pretty sensible, you may want to change some of them. There are some consts in main.go, that are self documented, notably the default timezone used (let's say you're in Europe but your server is in the USA), time and date formats, and the default number of feed items to display.

BUGS

This readme is almost as long as all the Go code used for this project.

More seriously, feel free to report them.