I don't normally comment on HN, but this topic is something I've got a strong opinion on.
I use Foliate to read epub's, but I've got one massive peeve with ALL e-readers. I'd really, really like for an option that tells the e-reader not to modify my epub. I don't use annotations, I really don't need the e-reader to bookmark where I've stopped reading.
Hmm, I mostly use Calibre for epub reading, and was not aware of it writes bookmark back to epub itself. Do you mean some e-ink reader updates .epub whenever you add bookmark? That seems an odd implementation.
I'm not sure what gets modified, but I've stopped using the Calibre epub-reader because I found that everytime I've read a book, my rsync backup script found changes in the epub. I once checked in the epub (it's a zipfile after all) and there seems to be an extra file added. Removing that solves the issue. It was a long time ago, I can't remember details.
Now I just copy my epub's to a temporary file before reading.
FWIW, there is a setting to make Calibre's reader to save its bookmarks file outside the epub. I think the setting needed to be set in the reader itself.
Great app, so great that I have reused an huge part of the code base in Arrianna. A KDE/Qt epub reader: https://invent.kde.org/graphics/arianna (the readme is currently empty as I am polishing the library feature)
I got kind of annoyed that the headings are not part of the color schemes, and for me they always stay dark red, which is pretty unreadable in dark themes and looks bad in many light ones.
Foliate is excellent! I even got it working through WSL on Windows. I use it for O’Reilly books and other epub books. It’s much easier to reach books as an epub than a pdf since the text, etc adapt to your screen. The problem was historically that epub viewers were generally bad on desktop.
If anyone is interested in using Foliate through WSL, https://opticos.github.io/openinwsl/ is great - it lets you double-click a file in Windows, then Foliate in WSL2 launches to view it
I took a quick look at the github repository (because I'm on macos), and it looks like it is written in javascript (and xml) using "gjs", which exposes the gnome libraries to javascript. So I think it's a gtk/gnome program, but written in javascript instead of C and using a webkit widget for the book itself.
So you've some kind of problem with the implementation language? Because then you can say the same about any other. "Does it need to be written in Python?" "Does it need to be written in Rust?" What's even the point?
re-read what being discussed, someone said to display epub you need to able to render HTML, I said "but it does NOT need to RUN js". And then you were the person who brought up implementation language which happens to be js, which is irrelevant to the point everyone was making.
The OG comment mentions JS codebase being bundled to a browser engine. Then it's mentioned that it makes sense to do that. And then you specifically asked "does it need a js engine though?". For this specific app, the answer is yes. You cannot open an epub directly on browser and you need to parse it to do that. That somehow for this app is JS. If your question was whether epubs may contain JS then it's wrongly posed.
It's more like React Native, code in JavaScript but rendered with native components; webkit is for rendering epub view not the entire app.
Most ebook reader apps nowerdays use embed browser to render epub, with the notable exception of some apps on e-ink readers with their own parser and renderer, faster but at cost of maintenance effort and compatibilities.
Apple Books recently got a little worse but it's still the only non-eink way to read ebooks that I find tolerable enough to actually use. There is also a Mac version. Adding an epub to one will sync it to the other, and your reading progress will sync across all device (phone, tablet, computer), if you use iCloud.
Calibre is an e-book management and viewer and editor app with numerous features. Foliate is a minimal (design-wise) viewer with an elementary library. If Calibre works for you then you shouldn't because they aren't really comparable.
- Foliate looks better and is easier to read than Calibre
- Foliate opens the file o ask it to open and that's it, while Calibre starts to browse to all my folders and index every pdf and Epub file accessible from my laptop!
Are you also able to access/browse your Calibre library on your phone? And what about your annotations?
Currently i'm resisting not using annotations, because while i manager books on my laptop, i read them on a e-ink android tablet(Onyx air). I would want my annotations to sync two ways if possible.
Calibre UI is unappealing and too complex. Sometimes you just need a library of books without the clutter. Foliate looks simpler to use, but for some reason it doesn't allow bulk imports.
Can drag-and-drop multiple epubs to library view and will be added (but directories raise an error). Can search 'epub' on file manager instead if files are spread in subdirectories.
I use Foliate to read epub's, but I've got one massive peeve with ALL e-readers. I'd really, really like for an option that tells the e-reader not to modify my epub. I don't use annotations, I really don't need the e-reader to bookmark where I've stopped reading.
Just don't write over my epub!