Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read-Along Highlighter (Obsidian plugin)

Highlights text progressively at a set pace in Reading View — like the Speechify "follow along" effect, but with no TTS/audio, just a visual pacer you control.

Features

  • Two-tone highlighting — subtle wash across the current sentence, darker highlight on the active word/phrase, continuous (no gaps between words).
  • Floating control panel (SVG icons, no emoji) — restart, previous/next sentence, play/pause, speed −/+, progress (sentence/total), exit.
  • Draggable panel — position persists across sessions.
  • Collapsible — shrink to a small dot when you don't need it.
  • Auto-hides after a few seconds of inactivity; reappears on movement, stays visible while paused.
  • Right-click any word to jump reading to that point.
  • Separate light/dark mode colors, customizable in settings.
  • Markdown-aware: rendered math (KaTeX/MathJax), embeds, and checkboxes are treated as single atomic units instead of being shredded word-by-word; hidden accessibility mirrors (e.g. KaTeX's raw-LaTeX mirror) are skipped entirely so they can't silently stall playback.

Install (manual — this is an unlisted personal plugin)

  1. In your vault: <vault>/.obsidian/plugins/read-along-highlighter/
  2. Copy main.js and manifest.json into that folder.
  3. Settings → Community plugins → enable "Read-Along Highlighter".
  4. Open a note, switch to Reading View, then click the ribbon icon (scan-text) or run "Start read-along highlighting" from the command palette.

Commands

  • Start / Stop / Toggle read-along highlighting
  • Pause / resume
  • Previous sentence / Next sentence

Settings

  • Words per minute (80–500)
  • Words per highlight step (1–6, single word vs. short phrase)
  • Sentence & word highlight colors, separately for light and dark mode

Development

npm install
npm run build   # one-off build -> main.js
npm run dev      # watch mode, rebuilds on save

After building, copy main.js + manifest.json into your vault's plugin folder (or symlink the whole repo folder into .obsidian/plugins/ for a tighter dev loop).

Project structure

.
├── manifest.json     # Obsidian plugin metadata
├── main.js            # built bundle (tracked, so the repo works standalone)
├── src/main.ts        # source
├── package.json
├── tsconfig.json
└── README.md

Limitations

  • Reading View only — Live Preview/Edit mode isn't supported (would need CodeMirror6 decorations).
  • Leaving Reading View or switching notes while running auto-stops and restores the original rendered HTML.

About

Obsidian plugin to help you read faster

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages