npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

zotero-reference-linker

v0.9.7

Published

Link references in Zotero PDFs to items in your library

Readme

Still maintaining parsing algorithm!

Zotero Reference Linker

Reference Linker highlights bibliography entries whose papers are already in your Zotero library. Click a highlight to open its PDF or select the Zotero item.

Highlights are part of the reader UI. The plugin does not modify PDFs or create Zotero annotations.

Install

  1. Download the latest XPI from GitHub Releases.
  2. In Zotero, open Tools → Plugins.
  3. From the gear menu, choose Install Plugin From File….
  4. Select the XPI and restart Zotero.

Zotero 9 and 10 are supported.

Use

Open a PDF. Reference Linker scans automatically as reader pages are rendered. Click Ref ↗ to force a manual rescan; the button shows Scanning… while it runs and the result appears in the summary at the right edge of the reader.

  • Yellow references are matched to your library. ↗ PDF opens the saved PDF, while ↗ Item selects an item without an attached PDF.
  • Gray references are unmatched. Click one to open its DOI, search Google Scholar, or copy its title when that metadata is available.
  • The scan summary reports scanned, matched, ambiguous, and unmatched reference counts.

If no links appear, scroll through the reference pages once. Zotero renders only nearby PDF pages, and Reference Linker rescans when newly rendered pages are detected.

Matching

References are matched in this order:

  1. DOI
  2. arXiv ID
  3. Bibliographic fingerprint for references without titles
  4. Normalized title
  5. Conservative fuzzy title match

A bibliographic fingerprint uses the first author, year, journal, volume, and first page or article number. Ambiguous or conflicting matches are left unlinked.

Numbered and author-year bibliographies are supported. Title matching ignores capitalization, punctuation, whitespace, diacritics, and line-break hyphenation.

Supported reference styles

The plugin is not limited to specific journals. These formats have been tested:

  • Astronomy: A&A, ApJ, ApJS, ARA&A, and MNRAS
  • Physics: Ann. Phys., Physical Review Letters, Physics Letters B, JHEP, Reviews of Modern Physics, and Physics Reports
  • Mathematics: numbered references with comma-delimited titles
  • Biomedical: Vancouver-style references, including Genome Biology, Nature Biotechnology, and Nature Methods
  • Computer science: IEEE, ACM, CVPR, ICML, ICLR, and NeurIPS styles

Other journals generally work when references contain a DOI, arXiv ID, title, or an unambiguous bibliographic fingerprint.

TODO

  • [x] Scan automatically when a PDF opens and when newly rendered pages are detected.
  • [x] Show a scan summary with the numbers of references scanned, matched, ambiguous, and unmatched.
  • [x] Add actions for unmatched references, including opening a DOI, searching Google Scholar, and copying the title.
  • [ ] Optionally link matched papers through Zotero's Related Items, with an explicit bulk action and undo support.

Development

Requires Node.js 20 or newer.

npm install
npm run verify

npm run verify runs type checking and tests, then creates the unpacked extension in build/ and an installable XPI.

For a development install, create this proxy file in the active Zotero profile:

extensions/[email protected]

Set its contents to the absolute path of the build directory, then restart Zotero.

The unpacked extension is also available from npm:

npm install zotero-reference-linker

Limitations

  • Image-only PDFs require OCR.
  • Complex PDF text layers may produce incorrect reading order.
  • Matching depends on accurate citation and Zotero metadata.
  • Reference pages must be rendered before links can be drawn.
  • Zotero Reader internals may change between releases.

Reporting a problem

Include the Zotero and plugin versions, citation style, one failed reference, and a public paper link when available.