Paper Link

approved

by Jiangnan Ye

Replace pasted paper URLs (arXiv, OpenReview, ACL Anthology, …) with [Title (Venue Year)](url) links. - This plugin has not been manually reviewed by Obsidian staff.

1 stars20 downloadsUpdated 21d agoMIT

Paper Link

An Obsidian plugin that automatically replaces pasted academic paper URLs with readable, titled markdown links, just when you press ctrl+v/command+v!

Paste https://arxiv.org/abs/1706.03762 into a note and it becomes:

Attention Is All You Need (arXiv 2017)

The paste itself is never delayed — the URL lands instantly, and the titled link is swapped in as soon as the metadata arrives (usually well under a second).

Supported sources

SourceHowVenue shown
arXivofficial arXiv APIarXiv + year
ACL Anthologypage citation metadatashort venue from the anthology ID (ACL, NAACL, EMNLP, Findings of ACL, …) + year
OpenReviewOpenReview APIsee limitation below
Anything elseGoogle Scholar citation_* meta tags (works for NeurIPS proceedings, PMLR, IEEE, ACM, Semantic Scholar, …)venue + year when present

Non-paper URLs are never touched: if a page has no citation metadata, the URL is simply left as you pasted it.

Usage

On paste — copy a paper URL and paste it into a note. It converts automatically. Only fires when the clipboard is exactly one URL; pasting prose containing URLs does nothing.

Existing notes — run the command "Paper Link: Convert paper URLs in current note" from the command palette. It converts every bare paper URL in the active note, skipping URLs that are already links, in frontmatter, or inside code blocks, and reports a summary when done.

Link format

[Title (Venue Year)](url), degrading gracefully when metadata is missing: [Title (Venue)], [Title (Year)], or just [Title]. If the venue already contains the year (e.g. ICLR 2024), the year isn't repeated.

Known limitation: OpenReview

OpenReview fronts its API with a Cloudflare Turnstile challenge that blocks all non-interactive clients, including Obsidian's request layer. OpenReview URLs therefore currently stay as raw URLs, with a notice explaining why. The resolver is implemented and will start working automatically if OpenReview relaxes the block.

Safety behavior

  • A paste is never blocked or mangled: on any fetch failure the raw URL stays and a notice is shown.
  • If you edit or undo before the title arrives, the replacement is silently dropped.
  • URLs pasted into an existing [text]( link are left alone.

arXiv rate limits

arXiv's API asks clients to leave ~3 seconds between requests. The plugin serializes its arXiv calls to respect this, retries a throttled request a few times with exponential backoff, and — if it's still throttled — leaves the URL raw and tells you to try again rather than failing silently. Converting a note with many arXiv links is therefore paced deliberately (a few seconds per link).

Installation

From the community directory (once accepted): Settings → Community plugins → Browse → "Paper Link".

Manual: copy main.js and manifest.json from the latest release into <vault>/.obsidian/plugins/paper-link/, then enable the plugin in Settings → Community plugins.

Development

npm install
npm test           # unit + live network tests (node)
npm run build      # typecheck + bundle to main.js
npm run dev        # watch mode

All metadata resolution lives in src/resolvers.ts as pure logic with the HTTP function injected, so it runs under plain node for tests. src/main.ts is the thin Obsidian layer. Adding a new source is a small resolver object plus a test.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.