More with bookshelves

The experiment to manage the books you’re reading in has been really well received. We’ve heard some great feedback about how to improve this feature and what its final form should look like when it’s rolled out to everyone.

I’ve made a few improvements recently, including making it easier to try. If you want to enable the “Bookshelves” link in your sidebar, just click on this link when you’re signed in to on the web.

The books list is now sorted with most recently-added books at the top. The data is also now available to Hugo themes. In any template, you can use some Hugo code like this to access the books in a bookshelf such as “Currently reading”:

{{ range .Site.Data.bookshelves.currentlyreading }}
   <a href="{{ .isbn }}">
     {{ .title }} by {{ .author }}
{{ end }}

Thanks to Jason Becker for suggesting this. I had never used Hugo data templates before and there is a lot we could do with them. (And you can still edit a bookshelf to include it on any page without making theme changes.)

Some of the feedback I’ve been thinking about is whether “books” isn’t general enough for this feature. Daniel made this pitch on our podcast, and others have suggested music, movies, podcasts, or even beer as other things that could be tracked in “shelves”. These would all be fun to work on and useful, but they would make a fairly simple feature many times more complicated and take months of additional development time. I don’t think we could tackle that kind of scope expansion without distracting from our core priorities with

For 2021, the plan is to stick with books. We’ll continue to tweak it and then enable it for everyone by default in a few weeks.

Manton Reece @manton