I'm using Linux and trying to find a e-reader recently. Here is what I tested on Arch:
Calibre: Failed to open
Okular: Ugly, cannot modify margin
bookworm: No two-page view, only scrolling-mode, and scrolling-mode cannot get the reading progress
zathura: too simplify resulting in not know how to use
lector: cannot recognize epub......
Buka: cannot open the book. (I don't get the logic flow, create a list first, then import the book, then crash)
Until I found Foliate, it support two-page view w/ progress bar, it support epub will in different language (I test en_US and zh_TW), fast lookup (gtrans, Wiktionary, Wikipedia), good UI, ...etc
Running Arch as well and I use the Calibre Flatpak to manage my Kindle. I plug it in every month or so and haven't had any failures in the last year. I've found that Flatpaks solve the problem of some older programs not working well on Arch or some programs not getting updated on Debian.
I've never personally used it for epub, but apparently mupdf works with epub files. It's my go-to PDF viewer at least. Just be sure to read the man pages as most operations are keyboard hotkeys.
pandoc+emacs. I also use the read-aloud package, which all together makes the best ereader+TTS experience. (However I run the TTS over the lan on a mac, because FOSS text-to-speech is awful.)
Ecosystems are tough. I'd never used meson, so I installed it using apt-get. I tried to build Foliate, and got an error about wrong arguments to `project()`. Searching for the error brought results about a wrong version, so I uninstalled meson and reinstalled it using pip. The installation completed fine. I went to run Foliate (com.github.johnfactotum.Foliate, if that wasn't somehow obvious), and I got an error from GJS (JS ERROR: SyntaxError: invalid property id @ resource:///com/github/johnfactotum/Foliate/js/main.js:57
JS_EvaluateScript() failed).
If it's obvious to anyone else what's wrong here, it's not obvious to me. Isn't one of the advantages of interpreting the code on the target platform supposed to be portability? If so, why is it I so seldom can can get anything written for GJS, or Node, or a Python program not my own, to install and run without a three-hour yak shave?
I'm sure this is a great project, and I mean no disrespect to the author, who did a better job of installation instructions than most — but I'm tired of installation being such a pain. It's almost, but not quite, enough to make a guy run Windows.
> Searching for the error brought results about a wrong version
One of the bullet points from the Meson website:
> * fun!
So if I understand correctly, this modern build tool created to replace all the extant time-wasting build tools got memorialized in Debian in a half-baked state where it's not compatible with future versions.
Also-- the fact that you had to leave the hardened bank vault of apt through the screen door of pip... to install a thing to build other things to run on your system.
I love it.
> If so, why is it I so seldom can can get anything written for GJS, or Node, or a Python program not my own, to install and run without a three-hour yak shave?
... is the question that explains why Electron exists. Every comment on HN about its size, memory usage, and insecurity doubles as a critique of all the problems you just hit with a Linux system.
Electron: "Memory and disk space is cheap enough, but your time will never be."
Hi, author of Foliate here. It sounds like you're using something like Ubuntu 16.04 or similar? Foliate currently requires GJS >= 1.52 and Meson >= 0.40.
Wow, I didn't see this coming. I always had this problem in Linux to the point I am going to ditch Linux for windows the moment wsl2 becomes stable. But this app is literally awesome. I wish Gnome foundation would stop acting stupid as hell and start funding projet like this and make it official Gnome project.
I think the problem is that funding probably comes from Redhat and/or FSF. One of those is interested in business uses and the other doesn't have a lot of money.
I'm starting to think everyone who can write code should try to contribute what effort they can to an open source project. I'm starting to see how a lot of small individual contributions add up over time. A project still needs a good maintainer and vision though, and that's a lot of work for someone.
Just looking at the source and finding out it's JavaScript.
Although I'm probably living in a cave and didn't use Linux often on the desktop since years, it is common practice now to write Gtk/Gnome apps in JS? I tought Vala was the cool language for that kind of apps...
It uses epub.js which i think is really cool for rendering the documents. The UI looks pretty impressive as well. For anyone coming from Calibre, this would look amazing
My PC has plenty of resources, but if I'm going to use a browser to read books, I might as well upload it to Google Play Books and use the browser I already have open for other things. It has the same functionality and my progress and bookmarks are synced across devices.
Granted, epubs are easily converted to HTML, but I shouldn't need an additional few hundreds Mb of RAM to read a 5Mb file.
I'm glad to see hyphenation was taken into account, even if it requires some extra packages. On the Android epub readers I've tried it never seemed to work (maybe they only support English if at all?).
I like how it gives an option for margin size. It even allows 0 margin! One of the most annoying things about Google Play Books is that it puts pretty big margins to left and right and you have no control over them, so my phone's screen is wasted on a lot of empty space. Amazon Kindle is better because it provides a narrower margin option but I would prefer just 0 margin on my phone.
Also the app itself looks nice and native, good job.
If you want to compile a language you're going to need a compiler and a linker. Do you know how much water it takes to compile a single executable? Water that's better used irrigating a field which could support hundreds of well-written python and bash scripts.
In this case, I don't know how much it matters--EPUB is basically HTML, so you are going to be based around a browser-like component anyway. Might as well code the UI in js.
Could OP or someone else give an overview of how web-based interfaces work on native apps like this, without using something like electron? Is there a full js interpreter, dom, css parser, etc in something like Foliate?
I read programming ebooks on my computer while typing out the programs into Vim. As I learned from Zed in his C book that you must type out the code examples if you’re going to learn from them, which I’ve found extremely useful.
Otherwise for long form reading sections I switch back to my Kindle, tablet, or paper book.
The other times I read on my computer are shorter academic papers, reference, and sampling the first chapter of books before switching them to my Kindle or tablet.
lulouie|6 years ago
Calibre: Failed to open
Okular: Ugly, cannot modify margin
bookworm: No two-page view, only scrolling-mode, and scrolling-mode cannot get the reading progress
zathura: too simplify resulting in not know how to use
lector: cannot recognize epub......
Buka: cannot open the book. (I don't get the logic flow, create a list first, then import the book, then crash)
Until I found Foliate, it support two-page view w/ progress bar, it support epub will in different language (I test en_US and zh_TW), fast lookup (gtrans, Wiktionary, Wikipedia), good UI, ...etc
dmm|6 years ago
Perhaps this says more about Arch than it does Calibre.
michaelmrose|6 years ago
It does 2 page view, optionally shows progress, and with the mupdf backend supports epub and pdf and a few more.
Now it doesn't support mobi but calibre can automatically create an epub from the mobi on import.
Calibre is still useful in 17 different ways even if you don't actually use it to read the book.
elagost|6 years ago
afranchuk|6 years ago
agumonkey|6 years ago
pastage|6 years ago
reeves23423|6 years ago
loeg|6 years ago
dsr_|6 years ago
- reflow on window size change
- allow me to pick any system font to read in
ernst_klim|6 years ago
ayoisaiah|6 years ago
darkpuma|6 years ago
unixhero|6 years ago
baybal2|6 years ago
JasonFruit|6 years ago
If it's obvious to anyone else what's wrong here, it's not obvious to me. Isn't one of the advantages of interpreting the code on the target platform supposed to be portability? If so, why is it I so seldom can can get anything written for GJS, or Node, or a Python program not my own, to install and run without a three-hour yak shave?
I'm sure this is a great project, and I mean no disrespect to the author, who did a better job of installation instructions than most — but I'm tired of installation being such a pain. It's almost, but not quite, enough to make a guy run Windows.
jancsika|6 years ago
One of the bullet points from the Meson website:
> * fun!
So if I understand correctly, this modern build tool created to replace all the extant time-wasting build tools got memorialized in Debian in a half-baked state where it's not compatible with future versions.
Also-- the fact that you had to leave the hardened bank vault of apt through the screen door of pip... to install a thing to build other things to run on your system.
I love it.
> If so, why is it I so seldom can can get anything written for GJS, or Node, or a Python program not my own, to install and run without a three-hour yak shave?
... is the question that explains why Electron exists. Every comment on HN about its size, memory usage, and insecurity doubles as a critique of all the problems you just hit with a Linux system.
Electron: "Memory and disk space is cheap enough, but your time will never be."
johnfactotum|6 years ago
There's an open issue here on supporting older systems: https://github.com/johnfactotum/foliate/issues/45
jgillich|6 years ago
https://flathub.org/apps/details/com.github.johnfactotum.Fol...
z3t4|6 years ago
Why complicate things? build-steps are the root of all evil.
navidr|6 years ago
Thank you so much.
phkahler|6 years ago
I'm starting to think everyone who can write code should try to contribute what effort they can to an open source project. I'm starting to see how a lot of small individual contributions add up over time. A project still needs a good maintainer and vision though, and that's a lot of work for someone.
hbbio|6 years ago
Although I'm probably living in a cave and didn't use Linux often on the desktop since years, it is common practice now to write Gtk/Gnome apps in JS? I tought Vala was the cool language for that kind of apps...
chrisseaton|6 years ago
I think you’re about ten years behind the trend.
pratio|6 years ago
rhodysurf|6 years ago
truncate|6 years ago
ASalazarMX|6 years ago
My PC has plenty of resources, but if I'm going to use a browser to read books, I might as well upload it to Google Play Books and use the browser I already have open for other things. It has the same functionality and my progress and bookmarks are synced across devices.
Granted, epubs are easily converted to HTML, but I shouldn't need an additional few hundreds Mb of RAM to read a 5Mb file.
cosarara|6 years ago
ZuLuuuuuu|6 years ago
Also the app itself looks nice and native, good job.
xvilka|6 years ago
iamnotacrook|6 years ago
If you want to compile a language you're going to need a compiler and a linker. Do you know how much water it takes to compile a single executable? Water that's better used irrigating a field which could support hundreds of well-written python and bash scripts.
richard_todd|6 years ago
rhodysurf|6 years ago
umvi|6 years ago
mswift42|6 years ago
However, you easily can install alternative readers on Kobo ereaders, see here for a list of some hacks:
https://www.mobileread.com/forums/showthread.php?t=295612
DominoTree|6 years ago
squarefoot|6 years ago
$ dpkg-buildpackage
...
gpg: skipped "John Factotum <50942278+johnfactotum@users.noreply.github.com>": No secret key gpg: dpkg-sign.LHxm7FS6/com.github.johnfactotum.foliate_1.4.0.dsc: clear-sign failed: No secret key
dpkg-buildpackage: error: failed to sign .dsc file
edit: build does indeed work and I could use the viewer, building a Debian package fails though.
wjbolles|6 years ago
Santosh83|6 years ago
hawski|6 years ago
swebs|6 years ago
Shorel|6 years ago
I am using Freda in Windows to read ebooks.
I was worried about what to use in Linux. The Calibre viewer simply doesn't have the same quality as Freda.
Foliate is great, and I no longer worry about this. Thanks for the heads up.
bborud|6 years ago
lulouie|6 years ago
tndl|6 years ago
Guillaume86|6 years ago
lulouie|6 years ago
Improvotter|6 years ago
dmix|6 years ago
Otherwise for long form reading sections I switch back to my Kindle, tablet, or paper book.
The other times I read on my computer are shorter academic papers, reference, and sampling the first chapter of books before switching them to my Kindle or tablet.
unknown|6 years ago
[deleted]
Jnr|6 years ago
johannkokos|6 years ago
johnfactotum|6 years ago
diehunde|6 years ago
lngnmn1|6 years ago
[deleted]