Overview
The Built-in EPUB Reader provides a distraction-free reading experience directly within UNS. It includes automatic progress tracking, customizable themes, chapter navigation, and seamless integration with your library.The reader uses the
react-reader library built on epub.js, supporting EPUB 2 and EPUB 3 standards.Opening the Reader
From Library
- New Books
- In-Progress Books
- Completed Books
Books you haven’t started show:Opens to the first page (TOC or Chapter 1)
Reader Interface
Navigation Bar
The top bar displays:Book Info
- Novel title (truncated if long)
- Author name
- Current chapter (e.g., “Ch. 24 / 150”)
Theme Toggle
Switch between dark and light reading modes
Close Button
Exit reader and save progress
Reading Area
The main content area supports:- Click navigation: Click edges to turn pages
- Arrow keys: Left/Right for prev/next
- Table of Contents: Hamburger menu (left side)
- Responsive text: Reflows based on window size
Progress Tracking
Automatic Saving
Progress saves automatically every time you turn a page:The CFI (Canonical Fragment Identifier) is an EPUB standard for pinpointing exact positions within a book, accurate down to the word level.
Progress Indicators
Progress appears in multiple places:| Location | Format | Example |
|---|---|---|
| Reader Header | ”Ch. X / Y” | Ch. 45 / 150 |
| Library Grid | Progress bar (%) | 30% complete (blue bar) |
| Library List | Text format | ”Ch 45 / 150” |
| Completion Badge | Green tag | ”Completed” |
Reading Themes
Dark Mode (Default)
- Colors
- Best For
Light Mode
- Colors
- Best For
Navigation Methods
Page Turning
Click Navigation
- Left edge: Previous page
- Right edge: Next page
- Center: Toggle TOC menu
Keyboard Navigation
- Left Arrow: Previous page
- Right Arrow: Next page
- Up/Down: Scroll (if page overflows)
- Escape: Close reader
Table of Contents
Access the chapter list:The TOC is automatically parsed from the EPUB’s
toc.ncx or nav.xhtml file when the book loads.Reader Features
Text Reflow
Content adapts to window size:- Resize window → Text reflows automatically
- Zoom in/out → Font size adjusts (Cmd/Ctrl + +/-)
- Full-screen mode → Maximizes reading area
Image Support
Embedded images display correctly:- Cover images
- Chapter illustrations
- Diagrams and maps
- Author photos
Very large images may cause slow page loads. This is a limitation of the EPUB format, not the reader.
Hyperlink Support
- Internal links: Jump to footnotes, references, other chapters
- External links: Open in system browser (requires confirmation)
- Email links: Open in default mail client
Progress Details
Chapter Counting
Chapters are counted from the EPUB’s TOC:Completion Detection
A book is marked “completed” when:Loading States
Initial Load
When opening a book:- Small EPUBs (under 5MB): 1-2 seconds
- Medium EPUBs (5-20MB): 2-5 seconds
- Large EPUBs (over 20MB): 5-15 seconds
Theme Registration
On first load, custom themes are registered:Keyboard Shortcuts
Navigation
- Left Arrow: Previous page
- Right Arrow: Next page
- Up Arrow: Scroll up (if overflow)
- Down Arrow: Scroll down (if overflow)
Controls
- Escape: Close reader
- Cmd/Ctrl + +: Zoom in (browser-level)
- Cmd/Ctrl + -: Zoom out (browser-level)
- Cmd/Ctrl + 0: Reset zoom
Custom keyboard shortcuts for font size, margins, and line spacing are planned for a future release.
Troubleshooting
Reader won't open
Reader won't open
Check EPUB validity:
- Try opening the EPUB in another reader (Calibre, Apple Books)
- If it fails elsewhere too, the file may be corrupted
- Re-download the novel using the Download Manager
- Press F12 to open DevTools
- Look for errors like “Failed to fetch EPUB”
- Report persistent errors on GitHub
Progress not saving
Progress not saving
localStorage issues:
- Your browser’s storage may be full
- Clear cache and cookies for the app
- Check if localStorage is disabled (some privacy modes)
Theme not applying
Theme not applying
This usually means:
- Theme registration failed (check console)
- EPUB has inline styles overriding theme
- Rendition not fully loaded yet
- Close and reopen the book
- Toggle theme twice (dark → light → dark)
- If persistent, the EPUB may have hard-coded styles
Images not displaying
Images not displaying
- Image paths may be broken in EPUB metadata
- Backend isn’t serving image assets correctly
- Network timeout during image load
- Try opening the EPUB in Calibre to verify images exist
Text overflowing or cut off
Text overflowing or cut off
- Resize the window to trigger reflow
- Some EPUBs have fixed-width layouts (not reflowable)
- Try zooming out (Cmd/Ctrl + -)
- If persistent, the EPUB may be poorly formatted
Future Enhancements
The following features are planned for future releases:
Font Customization
- Custom font family selection
- Adjustable font size (without browser zoom)
- Line spacing control
- Text alignment options
Highlights & Notes
- Text highlighting in multiple colors
- Inline notes and annotations
- Bookmark specific pages
- Export notes as markdown
Reading Statistics
- Time spent reading per session
- Pages/chapters per day
- Reading speed (WPM)
- Streak tracking
Advanced Navigation
- Page slider (jump to percentage)
- Search within book
- Navigate by page number
- Recently read chapters list
Technical Details
EPUB Loading Process
CFI (Canonical Fragment Identifier)
Example CFI:/6/4[chap01ref]→ Chapter 1/4/2/2[para05]→ 5th paragraph/3:10→ 10th character in 3rd text node
Next Steps
Manage Library
Organize your EPUB collection and track reading progress
Download Novels
Scrape new content to read in the built-in reader
Cloudflare Bypass
Learn about handling protected sites
Providers
Explore the provider plugin system
Architecture
Understand how UNS works under the hood
