Over the years I’ve tried to track the books I own and what I read with a number of different methods. For the last few years I’ve used BookBuddy to track the books I own and The Story Graph to track what I read. Even with these two excellent apps I haven’t loved my setup.
BookBuddy doesn’t allow me to track reading of books I borrow from the library. My biggest issue with The Story Graph is that I don’t own the data. Yes I trust the application, and I pay for it so I’m not the monetization method, but I still don’t own my reading data somewhere on my computer.
This is where the Obsidian Book Search Plugin can solve my issues.
Adding a Book
Adding a book is fairly easy. Simply flip it over and find the ISBN number on the back. Invoke Book Search via the command palette and then type the ISBN in. Book Search will return the book and populate your new note with data from Google Book Search.
You can also simply search the title of a book and add it. I don’t live this because I want the data for the proper format of the book and it’s not clear if I’m selecting the paperback or hardcover version of the book in Book Search.
Dealing with Kindle Books
Many Kindle books don’t have a valid ISBN and instead use an AISN, which is Amazon’s special number for a book published via Kindle. Some jurisdictions require payment for issuing ISBN numbers and you need one for each format of the book (paperback, hardcover, large print, kindle) so Amazon issues an AISN which saves authors money when they need to deal with a Kindle version.
When I encounter a book like this I simply grab the ISBN and then make sure the format is set to Kindle. This will let me build a query later to see which books I own in which format.
Adding Custom Data to Book Search Templates
If you have your own custom YAML you wanted to be added to the top of an imported bok then you can head to the settings of Book Search and add it there.
You can also add custom text under your YAML if you want.
Queries for my Books
Once you have your metadata set on your book we can start to do some interesting things with queries to figure out how much we’ve been reading.
Currently Reading
This query requires dataview. Dataview queries require three backticks and then dataview
to be valid. It doesn’t show up below but is present in the dataview documentation and in the video above if this feels unclear.
table datestarted, datefinished, pages, library
from #book
where readstatus = "inprogress"
sort rating desc
This query requires Obsidian Tracker. Obsidian Tracker queries require three backticks followed by tracker
to make them work. Unfortunately, that bit is cut out below and is not included in the documentation either. You can see the query in the video above.
searchType: frontmatter, text
searchTarget: 'datefinished, readstatus: read'
xDataset: 0
startDate: 2022-01-01
endDate: 2022-12-31
summary:
template: "Books Read 2022: {{sum()::i}}"
Issues
My biggest issue with the plugin is that you can set some YAML in the heading but not everything. I’ve been using YAML formatting with my books for a while and the Book Search plugin adds new YAML fields that duplicate what I’m doing. I’m not going back to change all my fields so I’m left deleting what they provide.
I’d much rather see all the YAML populated in their settings field and allow me to change what it outputs on the file.
Second, if you search for a book title it doesn’t give you any indication which format you’re getting data for. That means you may be pulling data on the paperback version of a book when you own the hardcover. The page count may not match or it may link to a different cover than what you own. Yes this is picky.
Third, Book Search doesn’t deal with multi-author books well. When I added the Skyward Flight Collection by Brandon Sanderson and Janci Patterson it added both authors but used invalid YAML formats so none of my book queries were parsing the book properly.
None of these issues are deal-breakers for me, but I’d love to see them addressed in a future update. In fact, one of my issues was addressed between my first look a few weeks ago and when I went to record this video, so development is happening.
Getting Started with Obsidian
If you want to learn your way around Obsidian so that you can build a great note system then this course is for you. I’ll cover basic folder structure when to use tags or links, and the plugins I think everyone needs to make their Obsidian experience excellent. Plus much more. If you want all my courses, become a member.
$99 USD (30-day guarantee)