bubo-rss/README.md
2020-02-04 08:51:30 -05:00

3.8 KiB

🦉 Bubo Reader

Bubo Reader is a somewhat irrationally minimalist RSS and JSON feed reader you can deploy on Netlify in a few steps. The goal of the project is to generate a webpage that shows a list of links from a collection of feeds organized by category and website. That's it.

It is named after this silly robot owl from Clash of the Titans (1981).

You can read more about how this project came about in my blog post 'Introducing Bubo RSS: An Absurdly Minimalist RSS Feed Reader'

Getting Started

How to use Bubo Reader in a few easy steps with GitHub and Netlify:

Deploying from GitHub to Netlify

The deploy settings should automatically import from the netlify.toml file. All you'll need to do is confirm and you're ready to go!

Keeping Feeds Updated

Using Netlify Webhooks

To keep your feeds up to date you'll want to setup a Build Hook for your Netlify site and use another service to ping it every so often to trigger a rebuild. I'd suggeste looking into:

If you already have a server running Linux and some command-line experience it might be simpler to setup a cron job.

Using GitHub Actions

This approach is a little different and requires some modifications to the repository. Netlify started billing for build minutes very shortly after I published this project. Running npm build and downloading all of the RSS feeds took up a substantial number of this minutes, particulary if you had some kind of process pinging the webhook and trigger a build every 15 minutes or so.

How is the The GitHub Action-based approach different? The same build process runs, but this time it's on GitHub's servers via the Action. It then commits the newly created file generated at ./output/index.html back into the repository. Netlify still gets pinged when the repository is updated, but skips the npm run build step on their end, which significantly reduces the number of build minutes required.

Short Answer: use the github-action-publishing branch for now if you'd prefer to use GitHub Actions to run your builds.

The GitHub Action is setup to build and commit directly to the master branch, which is not the best practice. I'd suggest creating a separate branch to checkout and commit changes to in the Action. You could then specify that same branch as the one to checkout and publish on Netlify.

Anatomy of Bubo Reader

  • src/index.html - a Nunjucks template that lets you change how the feeds are displayed
  • output/style.css - a CSS file to stylize your feed output
  • src/feeds.json - a JSON file containing the URLs for various site's feeds separated into categories
  • src/index.js - the script that loads the feeds and does the actual parsinga and rendering

Support

If you found this useful please consider sponsoring me or this project. If you'd rather run this on your own server please consider using one of these affiliate links to setup a micro instance on Linode or Digital Ocean.