EPub Reader in Browser or Desktop
The Electron version that I wrote in 2017 had been moved to branch v1
. You can also use tag v1-archive
to browse it.
A while ago I started to rewrite this project. The v1
I started in 2017 is something I tried to learn both React and Electron at that time. There are some good reasons to rewrite: a lot of dependencies are out-dated, and the code style and syntax is quite old, plus no eslint adapted, etc.
So I decided to write it in TypeScript with the latest Electron. As soon as I implemented core code, I found I don't really need Electron. A browser version maybe good enough. Then I can probably ship desktop versions with webview than Electron.
Currently, the browser version is working but still lacks features. It's PRE-ALPHA stage now. If you want something just works, you may checkout v1
branch.
- TypeScript
- React
- Pug for HTML
- Stylus for CSS
- Parcel.js v2 for packaging
- Rust with web-view for Desktop
- Prev Page:
PageUp
,ArrowLeft
- Next Page:
PageDown
,ArrowRight
- Prev Chapter:
Ctrl/Meta + ArrowLeft
- Next Chapter:
Ctrl/Meta + ArrowRight
- Toggle ToC:
Backquote
- First Page of Chapter:
Home
- Last Page of Chapter:
End
Not configurable yet.
- Wheel Up / Down
- Wheel Left / Right
- Click Page No. on the bottom bar
- Click Left / Right arrows
- Swipe Left / Right
- Generic Features
- flip pages between chapters
- keyboard shortcuts: toggle ToC, prev/next page/chapter
- mouse & touch supports
- settings: fonts, background
- remember position
- settings: themes, keybindings
- drag and drop files to read
- multiple tabs?
- Desktop only
- settings: font family
- native open dialog / drag and drop
- book shelf
- cloud files
- multiple windows?
- sync settings?
- Tooling
- add ESLint or TSLint
- switch to Webpack?
Since Windows just switched Edge to Chromium based recently, it seems not working well yet.
- Node.js
- Yarn
- optional - Rust(if you want to try desktop version)
yarn
to install dependenciesyarn dev
to start dev serveryarn build
to generate static assets- optional -
yarn cargo:clean:run
to run desktop version
Dev server(
yarn dev
) is running on http://0.0.0.0:1234/. However,window.crypto.subtle
may not exist in some browsers due0.0.0.0
is not one of "secure origins". Just use http://localhost:1234 or try other browsers.