Latest tarball | rsswall-48.85a4824a.tar.gz (changelog) (atom feed) |
Clone | https://thebus.top/depot/rsswall.git |
Browser | Current source code |
Download | All 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.
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.
x
items, per feed, if neededrsswall 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.
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:
#
are ignorednumber
are present after an URL, rsswall will
only display the last number
items from that feed.number
or if it is invalid, then the last 5 (by default)
items from that feed will be displayedNote that there are install/uninstall make
targets for convenience if you want a
system-wide install.
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
Because rsswall is self contained, any change i'm detailing here will indeed require to rebuild the binary.
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.
While the default settings are pretty sensible, you may want to change some of
them. There are some const
s 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.
This readme is almost as long as all the Go code used for this project.
More seriously, feel free to report them.