Get AI summaries of any video or article — Sign up free
How to Create a Reading List to Track Books in Obsidian thumbnail

How to Create a Reading List to Track Books in Obsidian

Prakash Joshi Pax·
4 min read

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.

TL;DR

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?

Each generated book note includes a Status field with one of four values: to read, reading, unfinished, or completed. Data View later filters notes by matching that Status field, so changing a book’s status automatically moves it between sections like “To Read” and “Completed.”

What role does the #book tag play in the Data View query?

The Data View table is configured to extract only notes that contain the hashtag #book. That tag acts as the inclusion rule, so unrelated notes in the vault don’t appear in the reading list tables.

Where do cover images, authors, and page counts come from?

They come from the metadata stored in each book note’s YAML front matter. The Data View table maps cover URL to a cover column, author to an author column, and total pages (stored as pages) to a pages column, then renders those fields in preview mode.

Why might covers not appear immediately in preview mode?

Cover URL rendering depends on internet access. If the connection drops, the table may still list books but omit cover images until connectivity returns.

How does sorting change the reading list experience?

The Sortable plugin enables ordering the bookshelf by different fields, such as pages. That makes it easier to scan the list according to reading length or other metadata without manually rearranging entries.

What’s required to get the card-style bookshelf layout?

The card layout relies on using the Minimal theme and adding a custom CSS snippet (referenced as a class like “cards”). Without the theme/CSS combination, the bookshelf may remain a more basic table rather than the styled card grid.

Review Questions

  1. What fields must exist in each book note for Data View to build the bookshelf correctly?
  2. How would you modify the Data View filters to add a new section (e.g., “Reading”) alongside “To Read” and “Completed”?
  3. What combination of plugins and settings produces both the functional grouping and the visual card layout?

Key Points

  1. 1

    Install and enable the Book Search plugin to generate book note files populated with metadata.

  2. 2

    Store all book notes in a dedicated folder by setting the Book Search “new file location.”

  3. 3

    Use a consistent Status field in each book note (to read, reading, unfinished, completed) so Data View can filter reliably.

  4. 4

    Tag book notes with #book so Data View queries include only relevant entries.

  5. 5

    Create a Data View note that renders a table for each status section by filtering on the Status field.

  6. 6

    Enable JavaScript queries and inline field highlighting in Data View to support the table behavior used for the bookshelf.

  7. 7

    Use Sortable for ordering (e.g., by pages) and Minimal theme plus custom CSS to achieve the card-style bookshelf layout.

Highlights

A single Status field in each book note powers automatic movement between “To Read” and “Completed” sections via Data View filters.
Data View builds the bookshelf table by pulling YAML front matter fields—cover URL, author, and pages—from notes tagged #book.
Cover images in the bookshelf can require an internet connection to render in preview mode.
Sortable adds interactive ordering (like sorting by pages) without changing the underlying notes.
Minimal theme plus a small custom CSS change turns the reading list into a card-based bookshelf grid.

Topics

  • Obsidian Reading List
  • Book Search Plugin
  • Data View Tables
  • Sortable Sorting
  • Minimal Theme CSS