alexwlchan / books.alexwlchan.net

A site to track what I've been reading :books:

Home Page:https://books.alexwlchan.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

books.alexwlchan.net

build_site

This is the source code for https://books.alexwlchan.net, a site I use to track the books I've read. It creates bright, colourful cards for each book, with a tint colour based on the book's cover. Each card links to a longer, more detailed review.

A screenshot of the homepage, which has a brief introductory paragraph and a list of three recent books.

This repo contains my reviews, the cover images, and the Rust tool that creates the site.

How I store my reviews

Individual reviews are stored as plaintext files in the src directory, one per book I've read. Here's an example:

---
book:
  contributors:
    - name: Susanna Clarke
  cover:
    name: piranesi.jpg
    size: 1992812
    tint_color: "#916540"
  publication_year: "2020"
  title: Piranesi
review:
  date_read: 2022-01-20
  rating: 5
---

This is a weird but delightful book.

Each book also has a cover image in the covers directory.

These files get fed into a static site generator that creates HTML files.

Key tools

The site uses:

Motivation

I want a good way to track my books -- both to help me remember what I've read, and so I think more about why I like the books I do.

I've tried Goodreads and a couple of other sites, but they don't really work for me -- they emphasise more social features than book tracking, and I can't be as nit picky with the details as I'd like.

Building my own site allows me to be very picky, which is particularly useful for book covers. I find covers easy to remember -- I may not know a book if you tell me the title, but show me the cover and you'll get instant recognition. Being able to pick the covers (and then tint the site around them) really works for me.

About

A site to track what I've been reading :books:

https://books.alexwlchan.net/

License:MIT License


Languages

Language:Ruby 37.3%Language:HTML 28.2%Language:JavaScript 20.2%Language:CSS 7.7%Language:Python 5.7%Language:Shell 0.8%