Change your colour scheme

Managing my reading list with BookWyrm


A little while ago I wrote about managing my reading list using a JSON file. Then I decided that was too easy, so I starting using an SQLite database instead.

Moving my reading list to JSON was a mistake, to be frank. Data is spread across three tables, and there’s no easy way to reference the schema while I’m adding new entries, as I mostly do it via the slqite3 CLI.

I do have a Goodreads account, however there’s no public API to access, so I can’t (easily) use it as a data source.

Enter BookWyrm

BookWyrm ticks three boxes for me:

  1. it’s easy to use
  2. it’s part of the Fediverse
  3. it has an RSS feed

So, I’ve started moving my reading list out of my SQLite database, and into BookWyrm. And to make it easier, I’ve written a plugin for Eleventy.

eleventy-plugin-bookwyrm is a pretty simple Eleventy plugin. If you give it your BookWyrm instance URL and handle, it’ll fetch and parse the RSS feed, and add it to Eleventy global data for you, so that it can be used in templates.

I’ve not finished moving my list over yet, but once I do, I’ll be switching over my reading list and using this as a data source from now on. You can also follow my reading at @lewisdaleuk@bookrastinating.com.

Update: I hit a snag!

It turns out that BookWyrm only allows up to 10 items in an RSS feed, with no pagination! Luckily, I’d forgotten about outbox files - every profile has public outboxes that show the public feeds. I’ve updated the plugin to use this instead, which works nicely. I’ve lost some of my dates on my reading list, but I guess that’s a small price to pay.

About the author

My face

I'm Lewis Dale, a software engineer and web developer based in the UK. I write about writing software, silly projects, and cycling. A lot of cycling. Too much, maybe.