Add an entry for the Read Aloud Cloud
[books.alexwlchan.net] / README.md
1 # books.alexwlchan.net
2
3 This is the source code for <https://books.alexwlchan.net>, a site I use to track the books I've read.
4 This repo contains both the scripts that build the site, and the source data used by the scripts.
5
6 ![](books_screenshot.png)
7
8 ## How it works
9
10 Each book is a text file, with a bit of metadata at the top, and Markdown text in the body.
11 Here's an example:
12
13 ```
14 ---
15 book:
16   title: Trans Like Me
17   author: C. N. Lester
18   publication_year: 2017
19   cover_image: trans-like-me.jpg
20   cover_desc: >
21     The words “trans like me” in lowercased, large letters, set on a slightly off-white background.
22     The words “trans” and “me” are in red; the word “like” is in black.
23   isbn13: 9780349008608
24
25 review:
26   date_read: 2020-01-27
27   rating: 5
28   format: paperback
29 ---
30
31 I put off reading this for ages, but I’m glad I finally got to reading it.
32 ```
33
34 When I run the build script, it reads all these files, and turns them into a set of HTML files.
35 I upload a copy of those HTML files to my web server, where they're served by nginx.
36
37 ## Why...?
38
39 -   **…not Goodreads?**
40     I've used Goodreads in the past, but I'm not a massive fan -- they're owned by Amazon, which isn't the greatest company.
41     Their warehouse conditions are disgusting, and I've heard enough stories of questionable behaviour in the publishing industry to make me uncomfortable giving them my time or attention.
42
43     I don't like the idea of having my data in a proprietary database, and I never used the social features.
44
45     (Also, I find the Goodreads site quite difficult to use -- it's the de facto leader, and I think improvements stalled years ago.)
46
47 -   **…not another service?**
48     I know there are other services for tracking your books, but this is a sufficiently simple problem space that I decided to just build my own thing, rather than have my data in somebody else's database.
49
50     And doing it myself means I can be super picky, and design it exactly how I like, rather than live with somebody else's design decisions.
51
52 -   **…a static site?**
53     Because static sites are great!
54
55     There's no database to maintain, no login security to manage, and plain HTML and CSS serves blisteringly fast.
56     And plain text source means it's easy to edit my data, and will remain that way for a long time.