Table of Contents
The moment I discovered org-mode, I felt an instant connection and an overwhelming urge to shift my entire life into it—my notes, TODOs, you name it. Yes, even my reading list, which was comfortably managed in Goodreads. To my surprise, integrating it with my other org files has been as seamless as transitioning it from Goodreads.
Capturing a Book #
No fancy capture template, just a basic capture template to my inbox file that will get refiled into my reading list file (
books.org) every week.
(setq org-capture-templates '(("i" "📥 Inbox" entry (file "~/org/agenda/inbox_desktop.org") "* %?\n %i\n" :prepend t) ("j" "📔 Journal" entry (file+datetree "~/org/agenda/journal.org") "* %? %^G\nEntered on %U\n %i\n") ("b" "📑 Bookmark" entry (file "~/org/agenda/bookmarks.org") "* %? %^g\n %i\n" :prepend t) ("s" "🛒 Shopping List" entry (file+headline "~/org/agenda/shoppinglist.org" "SHOPPING LIST") "* TODO %?\n %i\n" :prepend t)))
The unique thing about capturing a book item, compared to other items, into my inbox is that I use
org-cliplink1 to grab the book title. For instance, when I stumble upon a gem like “The Martian” by Andy Weir—my all-time favorite sci-fi!—I just head to its Goodreads page2, copy the link, and paste it into my inbox using
org-cliplink. That way, it ends up looking something like this:
* [[https://www.goodreads.com/book/show/18007564-the-martian][The Martian by Andy Weir | Goodreads]]
Reviewing a Book #
When I’m reading a book, I mark it as
NEXT. And when I’m done devouring every page, I mark it as
DONE (or in other case, when I cannot finish it—looking at you, IT by Stephen King, I mark it as
CANC) and jot down a short review in the content.
Rating a book #
#+TITLE: 📖 Reading List #+CATEGORY: Books #+TODO: NEXT(n) TODO(t) | CANC(c) DONE(d) #+PROPERTY: Rating_ALL nil 0 1 2 3 4 5 #+COLUMNS: %TODO %91ITEM %5Rating %TAGS
As you noticed in my in-file settings above, I set predefined values for
Rating property and customize my column view for efficient book rating. When it’s time to rate a book, I activate column view, C-c C-x C-c by default, navigate to the relevant
Rating cell and start assigning ratings using
Initially, I experimented with using star (⭐) emojis for
Rating_ALL values (as depicted below), but I found it more practical to use numbers 1-5. With this setup, I can simply type the rating value using
#+PROPERTY: Rating_ALL nil ⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
Migrating My Existing Reading List from Goodreads #
It was as simple as exporting CSV file from Goodreads export tool page3, write a small python script and voila! That wraps it all!