paper-note-filler icon indicating copy to clipboard operation
paper-note-filler copied to clipboard

Obsidian plugin to automatically create a note from arXiv.org, acl anthology and semantic scholar.

Academic paper URL to Obsidian Note

Logo

This plugin solves a single annoyance for me when it comes to taking notes about ML/NLP/IR papers - 90% of which happen to be available on arxiv.org: the constant copy and paste to fill in a note template (author, title, etc.).

Instead of manually creating one Obsidian note per paper for a zettelkasten, simply provide the URL and the plugin extracts the important information and creates a new note automatically.

This (mostly) works for paper URLs from three domains:

  • arxiv.org, e.g. https://arxiv.org/abs/2111.13057
  • aclanthology, e.g. https://aclanthology.org/2022.acl-long.3/
  • semantischolar, e.g. https://www.semanticscholar.org/paper/Feature-Engineering-for-Second-Language-Acquisition-Chen-Hauff/75033c495638dcb2fb8ebc6211e5e5e0e8b93ea6

If it is an arxiv paper, the ArXiv API is queried. The ACL Anthology isn't as simple to query, and since Semantic Scholar has most of the data ingested, the Semantic Scholar API is queried with the respective aclanthology/semanticscholar identifier.

Why querying ArXiv separately? Although Semantic Scholar also ingests papers posted on ArXiv I have found the ingested data to be more noisy (especially when it comes to the abstract) than ArXiv's version.

Note This plugin was created in two evenings, it works but is brittle. Only tested on Desktop.

Installing the plugin manually

Note The plugin is not available via the Obsidian Hub as it takes quite a long time to get through the PR queue and the review process. This plugin is so niche and simple that it is not really worth it. So, manual installation it is.

  1. Head to the vault folder (the following command assumes it is in the home directory in the obsidian-vault directory) and traverse into the plugin directory: ~/obsidian-vault/.obsidian/plugins/.
  2. Create a new directory called paper-note-filler.
  3. Copy main.js, styles.css, manifest.json from the latest release to the just created directory. This is all, the remaining files are not necessary.
  4. Restart Obsidian.

Ideally, this is it and the plugin is now installed. A simple way to check this is to now open the settings tab of Obsidian. Everything worked if the Paper Note Filling plugin listed under Community Plugins. If not, check the community-plugins.json file in the /plugins folder and add the plugin name manually if necessary and then restart Obsidian one more time.

Using the plugin

Two settings

Open the settings tab of Obsidian. There should be the Paper Note Filling plugin listed under Community Plugins. There are two settings:

  1. The folder in which to create all notes (any folder from inside the vault or the root folder itself).
  2. The naming convention for each note (either using the respective identifier or the title of the paper).
Obsidian settings tab

Creating a note

To create a note, open the command palette, and find the Paper Note Filling:Create paper note from URL.

Obsidian command palette

Clicking the command brings up a dialogue in which to paste the URL:

Obsidian URL input

Press Enter and a note with the paper title, authors, url, abstract, etc. should be created. If the file already exists, it will not be overwritten. The end result (here with the Blue Topaz Obsidian theme) looks something like this:

Obsidian created paper note

Developing it further

Not hard as the plugin is straightforward and just a few hundred lines of code. Check out the instructions of the Obsidian Sample Plugin repo to get started.