Skip to content

About

Chrome extension to annotate web pages like a PDF - highlight, draw, and add notes

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Annotator (rebuild)

Highlight, draw, and leave notes on any page. Local-first: everything is stored in your browser, nothing leaves your machine.

See DESIGN.md for the principles this follows.

Features

  • Annotate — highlighter (with recolor / note / copy / delete menu), pen, sticky notes, eraser, select-and-drag pointer. Toggle with `, tools on h d n e v, Cmd+Z / Cmd+Shift+Z undo/redo per page.
  • Persistence — annotations saved per page (URL normalized so tracking params don't fragment them), re-anchored when page text shifts, restored automatically on revisit. Unplaceable highlights are kept, not dropped.
  • Find & review — feed of all annotations across all pages, full-text search, click to jump to the annotation on its page.
  • Export — one-click dump to JSON or Markdown.

Load it

  1. Open chrome://extensions, enable Developer mode.
  2. Load unpacked → select this folder.
  3. Open any page, press ` to toggle the overlay.
  4. Click the extension icon (or the Feed button in the toolbar) for the feed.

Layout

manifest.json          MV3 manifest (no build step)
src/
  storage.js           chrome.storage.local wrapper + URL canonicalization
  anchor.js            highlight serialize / re-anchor / wrap / unwrap
  history.js           snapshot undo/redo
  tools/               highlighter, pen, notes, eraser, pointer (one file each)
  toolbar.js           shadow-DOM UI: toolbar, canvas, notes, menus, toasts
  content.js           overlay bootstrap, keyboard, render-on-load
  background.js        5 lines: open the feed on icon click
  feed.html/js/css     find & review page
  export.js            JSON + Markdown export

Smoke test

  1. Load unpacked, open example.com, press ` — toolbar appears.
  2. h, drag over text — highlight appears, menu offers colors / note / copy / delete.
  3. d, draw on the page. e, click the drawing — it's gone. Cmd+Z — it's back.
  4. n, click the page — sticky note appears. Type, drag it by the header.
  5. v, click a note, drag it. Select the drawing, drag it. Delete removes selection.
  6. Reload the page — everything is still there.
  7. Toolbar → Feed (or click the extension icon): annotations listed, search filters, Open jumps to the annotation on the page.
  8. Feed → Export JSON / Export Markdown — files download.

Deliberately not included (v1)

Cloud sync, accounts, realtime presence, importers, CLI companion, cross-extension APIs. See DESIGN.md — these stay out until the core is flawless.

About

Chrome extension to annotate web pages like a PDF - highlight, draw, and add notes

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages