explaingit

lingyupeng/zotero_highlight_collector

21TypeScriptAudience · researcherComplexity · 2/5ActiveSetup · easy

TLDR

Zotero plugin that turns PDF highlights into a structured dataset by mapping highlight colors to categories like Vocabulary, Quote, or Method, then exports to CSV or Anki.

Mindmap

mindmap
  root((Zotero-Highlight-Collector))
    Inputs
      Zotero PDF highlights
      Annotation comments
      Color category mapping
    Outputs
      CSV dataset
      Anki tab separated text
      Highlight Dataset panel
    Use Cases
      Build a vocabulary card deck
      Collect core claims from papers
      Filter quotes by category
    Tech Stack
      TypeScript
      Zotero 9
      npm

Things people build with this

USE CASE 1

Collect vocabulary highlights from research PDFs and turn them into Anki flashcards

USE CASE 2

Tag and filter core claims, methods, and conclusions from a literature pile

USE CASE 3

Export a CSV of quotes by category for a literature review

USE CASE 4

Capture translations from a Zotero translate plugin alongside the source text

Tech stack

TypeScriptZoteronpm

Getting it running

Difficulty · easy Time to first run · 30min

Needs Zotero 9 installed and the XPI side-loaded via the Add-ons gear menu, then a Zotero restart before the Tools menu entry appears.

In plain English

Zotero Highlight Collector is a plugin for Zotero, the reference manager that researchers and students use to organise PDFs and citations. The plugin turns the highlights you make in Zotero's built-in PDF viewer into a structured personal dataset. The idea is that you assign each highlight color a meaning, such as Vocabulary, Core Claim, Quote, Method, Conclusion, or Idea, and the plugin then collects every matching highlight with its source paper details so you can filter and export them later. The README marks the project as an early MVP, tested locally with Zotero 9 during development. The main language is TypeScript, which is the standard for Zotero plugins. When you highlight text in a PDF, the plugin listens for new or modified annotations and records the chosen category, the highlighted text, the paper title, the date of the excerpt, any annotation comment used as a translation, a context sentence, and the page label. All of this lives inside a panel called Highlight Dataset that you open from the Tools menu in Zotero. From that panel you can edit the color to category mapping, filter records by category, choose which fields are visible or exported, and export the dataset. Two export formats are offered. The first is a CSV file. The second is a tab-separated text file shaped for Anki, the flashcard app, with Front, Back, and Tags columns so vocabulary highlights can become study cards. All data is stored locally in Zotero preferences. The README states clearly that nothing is uploaded to any external service, and points to a separate PRIVACY.md for details. Installation is the standard Zotero add-on flow: download the .xpi file from the GitHub releases page, open Zotero, go to Tools, then Add-ons, click the gear icon, choose Install Add-on From File, pick the downloaded file, and restart Zotero. The plugin does not translate text on its own. If you also use a Zotero translate plugin that fills translations into annotation comments, this plugin will pick those up automatically and store them in the Translation field. The README suggests a default color scheme such as Gray for Vocabulary and Yellow for Core Claim, but users can pick their own. For developers, the build uses npm ci and npm run build, producing an XPI under .scaffold/build/. The roadmap lists scanning existing highlights on demand, jumping from a dataset row back to the source annotation, better context extraction, and richer export templates. The project is bootstrapped from windingwind/zotero-plugin-template.

Copy-paste prompts

Prompt 1
Walk me through installing the latest XPI of Zotero_Highlight_Collector into Zotero 9 step by step
Prompt 2
Set up a color scheme in Zotero_Highlight_Collector where gray means Vocabulary and yellow means Core Claim
Prompt 3
Show me how to export my highlights as a tab separated Anki file and import them with Front, Back, Tags fields
Prompt 4
Help me configure a Zotero translate plugin so Zotero_Highlight_Collector picks up translations into the Translation field
Prompt 5
Run npm ci and npm run build for Zotero_Highlight_Collector and show me where the XPI lands
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.