How I Keep a Reading Log in Obsidian: A Book Note Template and Reading Database

Contents
  1. Why I started keeping a reading log in Obsidian
  2. How to keep a reading log in Obsidian
  3. Making a book note
  4. Building a reading database
  5. Wrapping up

AI helped me translate this post from the Japanese original. Some screenshots are in Japanese.

In this post, I’ll show you how I make book notes in Obsidian.

Why I started keeping a reading log in Obsidian#

Once I started extensive reading in English, I wanted to keep track of how much I’d read so far.

At first I used a phone app, but:

  • it might start charging at some point
  • if the service shut down, I’d have to move all my data somewhere else

I kept thinking about the risk of depending on whatever the developer decides.

I also tried logging in Excel, but opening the file every time and typing in titles and authors was such a chore that I gave up.

Now I use a free app called Obsidian.

My reading log in Obsidian

Managing my reading in Obsidian

Obsidian is a note-taking app that saves your data on your own computer.
I think the concept is linking notes together so your knowledge connects. (If I remember right.)

It’s similar to Notion or Evernote.

Monthly totals of words read

You can even make monthly totals

My data stays with me, which feels safe, and I can use it as casually as a notepad, so it’s really easy for me to use.

I keep my data on iCloud, so I can view and edit my notes on my computer, iPhone and iPad.

A book note

A book note

One book = one file, and I can keep notes on each book too.

How to keep a reading log in Obsidian#

I use the Obsidian community plugin “Book Search”.

(This would get too long, so I’ll skip the first setup and the basics of Obsidian.)

Install the “Book Search” community plugin#

Go to Settings > Community Plugins > Browse and search for “Book Search”.

Book Search in Community Plugins

Book Search

Install “Templater” the same way.

Installing Templater

Install Templater

Prepare a note template for books#

In your templates folder, create a note template for books.

The book template in the templates folder

The book template

Name the file “book” and copy and paste the content below into it.
I use “book” for tags, but use any tag name you like.

I’ve also added other properties, like “words” (word count) and “YL” (Yomiyasusa Level, a readability level used in Japan).

book
---
title: "{{title}}"
subtitle: "{{subtitle}}"
author: "{{author}}"
publisher: {{publisher}}
published: {{publishDate}}
isbn: {{isbn10}} {{isbn13}}
cover: {{coverUrl}}
tags: book
date: {{DATE:YYYY-MM-DD}}
---
<%* if (tp.frontmatter.cover && tp.frontmatter.cover.trim() !== "") { tR += `![cover|150](${tp.frontmatter.cover})` } %>
## {{title}}
{{description}}

Book Search settings#

Under Settings > Book Search, set the folder to save to, the file name, the template file and so on.

I set the locale to “English”, but set it to “Japanese” for books in Japanese (or whichever language your books are in).

The Book Search settings

Paste in an API key#

Create an API key in Google Cloud, turn on the Books API from the API Library, and enter the key in the API key field. That lets the plugin fetch data from Google Books.

Google Cloud Platform

Go to APIs & Services > Credentials, then Create credentials > “API key”.
Give it a name, choose “Books API” under API restrictions, and save.

Creating an API key restricted to the Books API

Paste the API key into “Set API Key” in the Book Search plugin and tap “Save Key”.

Saving the API key in Book Search

Save the API key

That’s it for the setup.

Making a book note#

On a computer, press Command + P to open the command palette and click “Book Search: Create New Book”.

Book Search: Create New Book in the command palette

Or click the book icon in the left sidebar.

The book icon in the left sidebar

On a phone, tap the three lines at the bottom right and tap “Create New Book”.

Create New Book on the phone app

A search bar appears. Type in a title or similar, and a book note is created in the folder you chose.

Searching for a book

Sometimes the book details don’t come through properly, so I fill those in by hand.

Building a reading database#

Make a list with Create New Base.

My reading database in Obsidian

Filter: file tags contains book

Properties: date, title, author, or whatever you like
Sort: date (ascending)

Click the bottom row to show a summary row. I show the total word count, but the number of books read could be nice too.

Bonus: monthly totals#

I make monthly totals with the community plugin “Dataview”.

Monthly totals of words read

Here’s the code:

```dataview
TABLE sum(rows.word_num) AS "Total Words"
FROM #book AND #English
FLATTEN number(words) AS word_num
WHERE word_num
GROUP BY dateformat(date, "yyyy-MM") AS Month
SORT Month ASC
```

Wrapping up#

Once it’s set up, adding the books you’ve read takes just a few clicks, which is so handy.
I can make lists and totals however I like, so I’m really happy with it.

If you use Obsidian and don’t mind setting up a Google Cloud API key, give it a try.

Emi
Emi

Making, playing, and widening my world