Lightweight web reader, easy to use, clean interface, focused on reading
English | 中文
-
📖 Multi-format:
epub,pdf, comic(cbz,cbr,rar,zip,7z),txt -
🚀 Cross Platform: All you need is a browser
-
🚀 PWA: Excellent offline experience
-
📁 WebDAV: Use your own reading library
-
🌏 I18n: Multilingual support
You can learn more by visiting the deployed site yue.norah1to.com
I recently got my second iOS device in my life, and the reader on the AppStore can only be imported locally, or you have to pay extra.
Okay, I'll write one myself
Environmental requirements node >=14 <18, pnpm >=7
pnpm installOpen Development Services
pnpm dev:webVisit http://localhost:5111, if the default port is occupied, please refer to the console output
You can package the common version
pnpm build:webor versions with PWA support
pnpm build:web-pwaThe packaged products are in dist/web and dist/web-pwa respectively
List the functions that MAYBE achieve, the project only needs to meet my personal needs for the time being (nobody uses it)
-
PDF support
-
Comic support (zip format)
-
Customized reader color scheme
-
More Sources (OneDrive, etc.)
If there is a solution, PR welcome!
All WebApps can not get around the problem, most webDAV services can not be used
Personally, I solved the problem by using alist to build a private service
-
2023/05/25 Update
Cross-domain issues have been solved by configuring
vercel.jsonusing a reverse proxye.g.
https://yue.norah1to.com/proxy/my.webdav.server/subIn this case, you need to configure the custom root path of the directory to be the correct root path, in the above example we need to configure it to
/sub.
There is a small chance that the page will not turn after the following operation, epub.js' problem
-
Frequent window zooming
-
Very frequent page turns (have done throttling, basically no problem)
Details here
Jump to the specified page will have +/-1 page deviation, epub.js's cfi implementation problem
Only on Android phones, the page will be shifted 1~2px after each page turn, the reason is unknown (I guess it's also the problem of epub.js)
