How to Set up and Maintain Your Academic Reading List in Obsidian

A few days ago, I posted on Mastodon about my excitement for the new Projects plugin for Obsidian by Marcus Olsson and the great possibilities it offers for keeping a reading list, for example. Some have asked if I can write up how I accomplished that. I will gladly do so.

The combination of Zotero (with the Better BibTeX plugin) and Obsidian with the Citation and Projects plugins are the perfect way for me as a PhD student to keep track of the literature to be read and already read. I had first started keeping a manual reading list, already using the Literature Notes that the Citation plugin generates. Then I tried using a Kanban list to schedule and track my reading activities. Neither of these worked well. But the Project plugin now helps me accomplish exactly what I currently need to do with my literature: prioritize, filter, plan and track, evaluate, check off. As I progress with my research project, I could imagine adding more tags or keywords by topic, while hiding or removing others. The possibilities seem endless.

A look into my PhD reading list in Obsidian with the Projects plugin

If you already use Zotero with Better BibTeX and the Citations plugin in Obsidian, you can jump directly to step 5. Then, the setup is very simple and it doesn’t really need much guidance, because the only thing you need to pay attention to is that your automatically generated Literature Notes have a valid frontmatter/YAML (step 3).

Main steps

  1. Installation and setup of the Better BibTex plugin in Zotero
  2. Export your Zotero library
  3. Installation and setup of the Citations plugin in Obsidian
  4. Creating the first Literature Notes with the help of the Citations Plugin in Obsidian
  5. Installation and setup of the Projects plugin
  6. Customization of the Projects plugin

Preliminary requirements

  1. Installation of Zotero
  2. Installation of Obsidian

Step 1: Installation and Setup of the Better BibTex plugin in Zotero

The goal of this step is to get Zotero and Obsidian to communicate with each other and generate cite keys.

Download: https://retorque.re/zotero-better-bibtex/installation/
Setup: https://www.marianamontes.me/post/obsidian-and-zotero/

In the Zotero settings under the tab Better BibTeX you can adjust how the citation key should look like. It is best to choose a key that is easy to remember. I decided to use the following formula, which results in cite keys such as “Abid.2017” or “AbidEtAl.2017”:

authors(n=1,etal=EtAl)+"."+year
Setting your citation key formula

So every entry in my library now has a citation key, which I will need for further work in Obsidian. You can use these keys whenever you cite something from your Zotero library. With the right settings, they can be automatically converted into active citations. But that’s another topic.

Citation Keys in Zotero Library

Step 2: Export your Zotero library

Export your Zotero library in Better BibTex format (File > Export Library) and be sure to select “Keep updated”. Whenever you make a change, your library will automatically be re-exported and the .bib file will always be up to date. Remember the location, we need it in the next step.

Export settings

Step 3: Installation and setup of the Citations plugin in Obsidian

Installation and activation of the Citation Plugin by Jon Gauthier under Community Plugins: https://github.com/hans/obsidian-citation-plugin

Once you have installed and enabled the plugin, go to the settings and:
a) Under Citation database format, select “BibLaTex”,
b) Under Citation database path, enter the path to the Zotero library you just exported,
c) Set up a folder where you want to store your Literature Notes, which are automatically created notes with the bibliographic references of all your titles in Zotero. Make sure to actually create the new folder and to insert the path here.

Citation plugin settings

Now you should adjust the template for your Literature Notes, also under the settings of the Citation Plugin. I have currently chosen the following settings:

Literature Note Content Template

Here for copying:

---
Title: "{{title}}"
Author:  {{authorString}} 
Last name of the first editor: {{entry.data.creators.editor.[0].lastName}}
Year: {{year}}
Tags: 
Status:
---

### Abstract
{{abstract}}

### Notes
{{note}}

Step 4: Creating your First Literature Notes with the Help of the Citations Plugin in Obsidian

Now it is necessary to create Literature Notes for the titles you want to include in your reading list. The easiest way to do this is to use the hotkeys of the Citations plugin. These hotkeys can be set – as with all other plugins – via the plus in the Installed Plugins view.

Installed plugins

I have chosen the following hotkeys:

Hotkeys of Citations plugin

The command “Open Literature Note” automatically creates a note in the folder “Literature Notes” that contains the bibliographic information from Zotero. So now if you click Ctrl+Shift+O, a new window will open where you can select any title you want from the Zotero library.

New window with all titles in your Zotero library
Automatically created literature note

If you need other information displayed in your Literature Note (and respectively in your Reading list), you might want to modify the Literature Note template (step 3).

Step 5: Installation and setup of the Projects plugin

Installation and activation of the Projects plugin by Marcus Olsson under Community Plugins: https://github.com/marcusolsson/obsidian-projects

After you have installed and enabled the plugin, create a new project, for example with the title “Reading list”. If you want, select “Set as default” to always open this project first. Then select the location of your “Literature Notes” under path – in the example it is “Literature Notes”.

Create a new project “Reading List” in Projects plugin

Now you have a list of all the titles you generated under Literature Notes – with all the details you saved from Zotero in the frontmatter.

Project view of your Literature Notes

First of all, we can adjust the view a bit, hide some columns and adjust the size. We can also add additional columns. We do this by opening an entry by clicking on the number of the entry and adding a new component in the frontmatter, here in the example “due-date” and “read-date”; I also added “priority”. These categories appear with all other entries as soon as they are filled in.

Adding metadata to a Literature note
Project view after adding metadata to a single entry

I will now fill in these new categories, for example, with my established tags, the priority I assign to a text, and the dates until when I plan to read the literature.

Project view after filling out the newly added metadata fields

I can now regularly review and update this list. To do this, I no longer have to open each individual entry, but I can make the changes directly in the list view of Projects. The changes are then automatically made in the frontmatter, which you can also utilize elsewhere, for example with the Dataview plugin.

Step 6: Customization of the Projects plugin

The Projects plugin has just been released, it will surely be refined in the future. The current developments can be found here: https://github.com/users/marcusolsson/projects/4

But there are already some interesting features I would like to point out here, e.g. that you can have individual items displayed in board or calendar view, you can filter the view, and highlight items by color.

Below are some examples from my own active Vault:

Filtering by a task and adding colors to certain items, here those with high priority
Board View, with filtering high priority elements and sorting by due date
Calendar View by due date

I hope I could be of some help with this. If you want me to explain anything in more detail, feel free to comment here or in the thread on Mastodon. Then I will gladly expand this post.

3 comments

  1. This is excellent! I’d already had the majority of it set up and I was going to spend some time this week to write some custom code with Dataview to do this, but apparently there’s a reasonably flexible plugin that will get me 95% of what I’m sure to want without any work! Thanks Natalie.

    Incidentally, I spent a chunk of yesterday looking at S.D. Goitein’s note taking process (zettelkasten) in his work on the Cairo Geniza, specifically with respect to:

    Zinger, Oded. “Finding a Fragment in a Pile of Geniza: A Practical Guide to Collections, Editions, and Resources.” Jewish History 32, no. 2 (December 1, 2019): 279–309. https://doi.org/10.1007/s10835-019-09314-6.

    Princeton Geniza Lab. “Goitein’s Index Cards,” 2022. https://genizalab.princeton.edu/resources/goiteins-index-cards.

  2. Thankyou for your efforts in writing up the Obsidian Project plugin, Natalie.
    In the first graphic you have a Status field of a checkbox type. Some entries have the true/false slider and some don’t. I am guessing those that don’t have the slider are new entries?

    Do you know why?

    And, if so, do you know how the slider might be made available for new entries?

    Thanks very much

  3. Oh, I think I’ve figured it out.
    In an existing document I created a new property ‘Read Status’ and set it as type ‘Checkbox’
    In the template I added ‘Read Status: false’
    New documents now have the slider

Leave a comment

Your email address will not be published. Required fields are marked *