How to Create a Reading List to Track Books in Obsidian
Based on Prakash Joshi Pax's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Install and enable the Book Search plugin to generate book note files populated with metadata.
Briefing
A practical Obsidian setup turns scattered book notes into a live “reading list” that automatically groups books by status—To Read, Reading, Unfinished, and Completed—while also pulling in cover, author, and page counts. The workflow matters because it keeps book tracking inside the same system where notes are written, so completed books can be reviewed and edited without switching tools.
The build starts with installing the Book Search plugin (from Obsidian’s community plugins). After enabling it, the creator configures where new book notes should be stored via the plugin’s “new file location” setting, pointing to a dedicated reference folder. A hotkey (Alt B) is then used to generate a new book note by searching for metadata. Each book note uses a Status field with four values—To Read, Reading, Unfinished, and Completed—so the later database view can filter books consistently. The notes themselves live under each book entry, meaning the moment a book’s status changes, its notes remain attached to the same record.
Next comes the Data View plugin, which creates the actual bookshelf. After enabling JavaScript queries and inline field highlighting, a new note is created (e.g., “Reading List” or “Bookshelf”). Using a Data View table, the setup displays columns for cover (via cover URL), author, pages (from total pages), and category, but only for notes tagged with #book. The key filter is the Status field: the table for “To Read” pulls only entries whose status matches “to read,” and a separate section for “Completed” reuses the same structure while filtering for “completed.” In preview mode, the cover images may require an internet connection to render.
To make the bookshelf feel more like a curated dashboard, the Sortable plugin is added so books can be sorted—such as by page count—based on user preference. Finally, the visual layout is refined with the Minimal theme and a small custom CSS tweak to render the list as card-style “bookshelf” tiles. The result is a single Obsidian area where users can browse what they plan to read, what they’re currently reading, and what they’ve finished—then update status and add notes as they go.
Overall, the approach combines metadata-driven book entries (Book Search), query-based grouping (Data View), interactive ordering (Sortable), and theme/CSS styling (Minimal + custom cards) to produce a low-friction reading tracker that stays synchronized with the notes it organizes.
Cornell Notes
The setup builds an Obsidian reading list that automatically organizes book notes by reading status. Book Search generates book note files with metadata, including fields like author, total pages, and cover URL, and each note includes a Status value (To Read, Reading, Unfinished, Completed). Data View then queries all notes tagged #book and renders filtered tables for each status section, such as “To Read” and “Completed.” Sortable adds sorting (for example, by pages), and Minimal theme plus custom CSS turns the layout into card-like bookshelf tiles. The payoff is a single, searchable reading dashboard where completed books and their notes stay connected.
How does the system ensure every book ends up in the right section of the bookshelf?
What role does the #book tag play in the Data View query?
Where do cover images, authors, and page counts come from?
Why might covers not appear immediately in preview mode?
How does sorting change the reading list experience?
What’s required to get the card-style bookshelf layout?
Review Questions
- What fields must exist in each book note for Data View to build the bookshelf correctly?
- How would you modify the Data View filters to add a new section (e.g., “Reading”) alongside “To Read” and “Completed”?
- What combination of plugins and settings produces both the functional grouping and the visual card layout?
Key Points
- 1
Install and enable the Book Search plugin to generate book note files populated with metadata.
- 2
Store all book notes in a dedicated folder by setting the Book Search “new file location.”
- 3
Use a consistent Status field in each book note (to read, reading, unfinished, completed) so Data View can filter reliably.
- 4
Tag book notes with #book so Data View queries include only relevant entries.
- 5
Create a Data View note that renders a table for each status section by filtering on the Status field.
- 6
Enable JavaScript queries and inline field highlighting in Data View to support the table behavior used for the bookshelf.
- 7
Use Sortable for ordering (e.g., by pages) and Minimal theme plus custom CSS to achieve the card-style bookshelf layout.