Rapid Reader
unlistedby Alex Burton
Focused popup speed-reader for Markdown and text files with ORP highlighting.
Rapid Reader (Obsidian Plugin)
Rapid Reader is a focused tabbed speed-reading plugin for Obsidian. It reads Markdown and plain text content one token at a time with ORP (Optimal Recognition Point) highlighting.
Features
- Tabbed docked reader mode (graph-view-style tab that can be detached)
- ORP-aligned one-word display with configurable center guide
- Long-word-aware word rendering to reduce clipping/shifting on very long tokens
- Reads selected editor text or current file content
- File picker for
.md,.txt, and README-like files - Readability preflight warning flow with Simplify / Continue / Cancel
- Deterministic text cleanup and simplify pipeline
- Side panel with cleaned full text and live paragraph highlight
- Playback controls: restart, step, jump ±10, speed slider, progress slider
- Persistent settings and remembered position per file
- Speed shown as
w/minbelow the left slider and reading progress shown ascurrent/totalbelow the right slider - Reader header includes a Config button that opens plugin settings
Version 1 limitations
Not included in v1:
- PDF support
- LLM summarization
- Caveman simplification mode
- Web page/URL ingestion
- EPUB support
- OCR
Publish to Community Plugins
This repository includes the submission prerequisites from the Obsidian guide:
README.mdLICENSEmanifest.jsonversions.json(maps plugin versions to minimum Obsidian versions)
Release workflow (per Obsidian docs):
- Build with
npm run buildto producemain.js. - Ensure
manifest.jsonversion matches the release tag (SemVerx.y.z). - Update
versions.jsonwith"<plugin-version>": "<minAppVersion>". - Create a GitHub release and attach:
main.jsmanifest.jsonstyles.css(optional but recommended)
- Submit the plugin by adding an entry to
obsidianmd/obsidian-releasescommunity-plugins.jsonand opening a PR namedAdd plugin: Rapid Reader.
Reference: Obsidian Developer Docs → Plugins → Releasing → Submit your plugin.
Development installation
npm install
npm run dev
Production build:
npm run build
Test in an Obsidian vault
- Build the plugin (
npm run build). - Create a vault plugin folder:
<vault>/.obsidian/plugins/rapid-reader/. - Copy these files into that folder:
main.jsmanifest.jsonstyles.css
- Open Obsidian → Settings → Community plugins.
- Enable Rapid Reader.
Commands
- Open Rapid Reader for current file
- Choose file for Rapid Reader
- Open Rapid Reader settings
- Left-ribbon button opens a quick choice: current file or choose another file
Settings
- Default WPM (default
500) - Minimum WPM (default
100) - Maximum WPM mode (
normal=1200,advanced=2000) - Font size (default
48) - Font family override
- ORP color (default red)
- Text color override
- Background color override
- Reader width
- Show center guide
- Show full text side panel by default
- Punctuation pause multiplier (numeric
1to100, includes decimal numbers like2.3) - Sentence pause multiplier (numeric
1to100) - Paragraph pause multiplier (numeric
1to100) - Replace code blocks with
[code block] - Replace inline code with
[code] - Replace URLs with
[link]during simplify - Remove links in reader
- Remove noisy symbols
- Split hyphenated words
- Strip numeric citations
- Autoplay after preflight
- Remember last position per file
- Warn before reading low-readability docs
Manual verification checklist
- Open Markdown note and launch Rapid Reader.
- Select text and launch Rapid Reader; only selected text loads.
- Open file picker and choose a
.mdor.txtfile. - Confirm code blocks become
[code block]. - Confirm preflight warning appears for code-heavy or list-heavy notes.
- Click Simplify and verify cleaned text still reads.
- Click Continue and verify it opens without simplifying.
- Click Cancel and verify reader does not open.
- Use the Play/Pause button to control playback.
- Use Prev/Next and Back 10/Forward 10 buttons.
- Use the speed slider and confirm the centered label below it shows
### w/min. - Use the progress slider and confirm the centered label below it shows
current/totalword count. - Verify ORP letter stays centered.
- Verify full text side panel scrolls with the current reading position.
- Verify settings persist after reload.
- Verify plugin unload leaves no running timers.
Plugin Submission Details
https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin
Roadmap
- PDF support later
- Better Markdown parsing later
- Advanced split/layout presets later
- Optional LLM summary mode later (not in version 1)
Cleanup spec
- See detailed normalization and examples in
docs/CLEANUP_PROCESS.md.
Security notes
- No network calls for document text
- No note mutation/writes
- Uses safe text rendering APIs (
setText/textContent) for user content
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.