NeverTooManyBooks tracks not just what books you own but where you are with each one. Every book has a read flag (read or unread) stored in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tfonteyn/NeverTooManyBooks/llms.txt
Use this file to discover all available pages before exploring further.
read database column. When you enable reading-progress tracking in a style, you can also record your exact progress as a page number (page 147 of 432) or as a percentage complete. Start and finish dates are logged automatically when you change status, but you can also set them manually. The date you finished reading feeds directly into the booklist grouping system, so you can arrange your shelves chronologically by the year you read each book.
Reading Status and Progress
The read state of a book is controlled by a booleanread flag (true = read, false = unread). In addition, you can optionally record reading progress:
| State | read flag | Progress |
|---|---|---|
| Unread | false | 0 % or not set |
| Reading | false | A page number or percentage between 0 and 100 % |
| Read | true | 100 % |
ReadingProgress class encodes progress as either a percentage integer (0–100) or a currentPage / totalPages pair, stored as a JSON string in the database column read_progress. For example: {"cp":147,"tp":432} for page-based progress, or {"pct":34} for percentage-based progress.
The reading-progress display is controlled per style. When Read Status with Progress is disabled in your active style, the book shows a simple Read checkbox. When it is enabled, the read field is replaced by a progress label, progress bar, and an edit button that opens the reading-progress dialog.
Marking a Book as Read
The steps differ slightly depending on whether your active style uses the simple checkbox or the full progress display.When using the simple Read/Unread checkbox
Locate the Read checkbox
The Read checkbox is shown in the reading-status area of the details screen.
When using the progress display
Tap the edit button next to the progress label
The reading-status area shows your current progress and a small edit icon. Tap the edit icon to open the reading-progress dialog.
The Date Finished (
read_end) field is used by booklist styles to group books by Year Read. If you set the date manually (e.g. for books you read before installing the app), make sure to enter the correct year so grouping works as expected. You can always edit the date in Edit Book → Notes.Recording Reading Progress
Reading progress is available when the Read Status with Progress option is enabled in your active style. You can log how far through a book you are in two ways:Open the reading-progress dialog
On the book details screen, tap the edit button next to the progress label. Alternatively, go to Edit Book → Notes and update the reading-progress fields there.
Choose a mode
Select whether to track progress by page number or by percentage using the toggle in the dialog.
Enter your progress
- Page mode: enter your current page and the total page count (e.g.
147of432). The percentage is calculated automatically. - Percentage mode: enter a value from 0 to 100.
ReadingProgress class that handles this data supports two constructors plus a factory method:
Date Started and Date Finished
Both dates are stored in theread_start and read_end database columns.
- Date Started is set to today’s date automatically when you begin recording reading progress (if it is not already filled in).
- Date Finished is set to today’s date automatically when you mark the book as read.
- Both dates can be edited manually in Edit Book → Notes using the date picker, so you can backfill history for books read before you installed the app.
Filtering and Grouping by Reading Status
Reading status integrates with booklist styles in two ways: Grouping — In any style, add a Read or Reading Progress group level. Your books will be sectioned under headers like “Read” and “Unread”. Filtering — Each bookshelf supports per-shelf filters. Add a Read Status filter to a shelf to show only unread books, only books currently being read, or only finished books.Editing Status in Bulk
There is no bulk-edit screen for reading status, but you can use the local search or filter system to isolate a set of books and then update them individually from the details screen. For large imports (e.g. migrating from another app via CSV), the CSV import format supports theread, read_start, and read_end columns so you can set status for many books at once.