Personal RSS Reader with Project Venus

Sep 29, 2021

Introduction

This post is inspired by Project Emacslife where the Emacsers’ feeds are aggregated in one place.

From there I discover Project Venus. It is a feed reader that I can spin up locally.

And I decided to give it a try.

Installation and Setup

The Venus page is helpful. The gist is that it crawls the RSS feed based on your config and generates a bunch of static HTML files.

However, after cloning the repo, I tried python runtests.py, and some tests failed.

I was lazy to fix all the dependencies. Luckily, I found a docker image that solves this problem perfectly.

You can follow its README, tweak the config.ini, create the public directory. And run the following command:

$ docker run -v ${PWD}:${PWD} --workdir ${PWD} --rm=true registry.gitlab.com/openalt/planet-venus-container:latest
INFO:planet.runner:Socket timeout set to 20 seconds
INFO:planet.runner:Building work queue
INFO:planet.runner:Updating feed https://sachachua.com/blog/category/emacs-news/feed/
INFO:planet.runner:Loading cached data
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/common/atom.xml.xslt using xslt
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/common/foafroll.xml.xslt using xslt
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/classic_fancy/index.html.tmpl using tmpl
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/common/opml.xml.xslt using xslt
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/common/rss10.xml.tmpl using tmpl
DEBUG:planet.runner:Processing template /opt/planet-venus/themes/common/rss20.xml.tmpl using tmpl
INFO:planet.runner:Copying /opt/planet-venus/themes/classic_fancy/planet.css to public/planet.css
INFO:planet.runner:Copying /opt/planet-venus/themes/classic_fancy/../common/images/feed-icon-10x10.png to public/images/feed-icon-10x10.png
INFO:planet.runner:Copying /opt/planet-venus/themes/classic_fancy/../common/images/logo.png to public/images/logo.png
INFO:planet.runner:Copying /opt/planet-venus/themes/classic_fancy/../common/images/planet.png to public/images/planet.png

And boom. We now have a generated public/index.html that we can view on the browser:

image

No ads. No tracking. Just the plain old RSS reader that I missed from Web 2.0!