---
title: "Managing my reading list with BookWyrm"
date: 2022-12-16T00:00:00
slug: managing-my-reading-list-with-bookwyrm

---
A little while ago [I wrote about managing my reading list using a JSON file](/post/managing-my-reading-list). Then I decided that was too _easy_, so I [starting using an SQLite database instead](/post/moving-my-reading-list-out-of-json).

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](https://www.npmjs.com/package/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](/reading-list) and using this as a data source from now on. You can also follow my reading at [@lewisdaleuk@bookrastinating.com](https://bookrastinating.com/users/lewisdaleuk).

### 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.
