Speed reading plugin using RSVP (Rapid Serial Visual Presentation) technique.
RSVP (Rapid Serial Visual Presentation) is a speed reading technique that displays text one word at a time in the same fixed location on screen. This eliminates eye movement and allows your brain to focus entirely on comprehension, enabling reading speeds of 500-1000+ words per minute.
Instead of your eyes moving across lines of text, the text comes to you. Each word appears at the optimal focal point with the center character highlighted, maximizing reading efficiency.
- Word-by-word display at screen center
- Center character highlighting for optimal focus
- Adjustable speed (50-1000 WPM)
- Multi-word chunks (1-5 words at a time)
- Context display (surrounding words preview)
- Smart micropauses based on punctuation, word length, and paragraphs
- Heading-aware pauses - longer pauses before H1 (3x), H2 (2.5x), H3 (2x), etc.
- Progressive acceleration - gradually increase speed during reading session
- All multipliers fully configurable
- Parses markdown syntax (links, bold, italic, code)
- Reads code block content
- Supports callouts
- Proportional heading display - H1 displayed 2x larger, H2 at 1.75x, etc.
- Visual separators before sections
- Click-to-start - automatically begins reading from cursor position
- Tracks keyboard navigation in real-time
- Updates on cursor movement (arrows, page up/down, vim keys)
- Calculates accurate word position after markdown parsing
- Adaptive dark/light mode
- Real-time progress bar
- Live statistics (words read, time elapsed, current WPM)
- Estimated reading time with accurate micropause calculation
Shift+Space: Play/Pause←: Rewind 10 words→: Forward 10 words↑: Increase WPM (+25)↓: Decrease WPM (-25)Esc: Stops: Toggle statistics
- Open Settings → Community plugins
- Browse and search for "DashReader"
- Install and enable
- Download
main.js,manifest.json,styles.cssfrom the latest release - Create folder
.obsidian/plugins/dashreader/in your vault - Copy the downloaded files to this folder
- Reload Obsidian
- Enable DashReader in Settings → Community plugins
- Click the ⚡ icon in the ribbon
- Click anywhere in your note to set reading position
- Press
Shift+Spaceto start reading
- Command palette:
Ctrl/Cmd + P→ "Open DashReader" - Context menu: Right-click selected text → "Read with DashReader"
- Auto-load: Opens automatically when switching notes (configurable)
All settings available in Settings → DashReader:
- Reading Settings: WPM speed, chunk size, font size and family
- Speed Acceleration: Enable progressive acceleration, duration, target WPM
- Appearance: Highlight color, text color, background color
- Context Display: Show/hide context words, number of context words
- Micropause: Enable/disable, punctuation multiplier, long words, paragraphs
- Auto-start: Enable auto-start, delay duration
- Display Options: Progress bar, statistics visibility
Built with TypeScript and the plugin API for maximum performance and integration.
- Export reading statistics
- Bookmarks for long texts
- Reading profiles (by content type)
- Full-screen focus mode
- Sync progress across devices
Contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
# Clone the repo to your vault's plugin folder
cd /path/to/vault/.obsidian/plugins
git clone https://github.com/inattendu/dashreader
# Install dependencies
cd dashreader
npm install
# Build for production
npm run build
# Build and watch for changes
npm run devMIT License - See LICENSE file for details
inattendu
For questions or suggestions:
- GitHub Issues: inattendu/dashreader/issues
Read faster. Understand better. ⚡