return to table of content

Foliate: Read e-books in style, navigate with ease

Buttons840
33 replies
12h27m

Does it manage my "library" for me?

I can open PDFs on every OS I've ever used. Like, just open the file, find a PDF file in some directory and open that PDF file and see a render of the PDF.

I've never found anything that can do the same for ebooks without also trying to manage my "library". Like, if I just want to peek at a random epub file it will add it to my "bookshelf" automatically and makes that a very prominent part of the program.

Can I use this to just open an epub file?

freddie_mercury
10 replies
11h3m

Calibre works exactly the way you suggest, so I'm not sure why you haven't found it.

It comes with an app called ebook-viewer that doesn't do anything except view ebooks. It doesn't automatically add it to the calibre library management.

johnchristopher
4 replies
9h18m

Calibre works exactly the way you suggest, so I'm not sure why you haven't found it.

JFC, that's not how the installation and the first run of Calibre works at all. I'd write "I'am not sure why you think people would think calibre is first a manager library and not a book reader after installing it" but I'd be lying.

karolist
1 replies
9h1m

I think Calibre advocates forgot what it's like to setup it for the first time and what a messy ugly process it is for new timers. A containerized version needs VNC access to set it up and perform some un-intuitive UI actions https://docs.linuxserver.io/images/docker-calibre/#applicati...

I've used https://www.kavitareader.com/ but it's not perfect either, this space could be "disrupted" by a Plex like product with opensource + licensed offerings but the target market is pretty small I think.

exe34
0 replies
7h40m

nix-shell -p calibre

I'm not sure what the container is for...

OscarTheGrinch
1 replies
8h23m

Yeah I'm currently running Calibre, which works fine for my needs, but my gripe is that it takes up around 1gb of space on my tiny old system.

Can someone please tell me the diskspace requirement for Foliate?

vetinari
0 replies
13m

Foliate itself is about 12 MB.

However, it needs flatpak runtime. If you already have different flatpak apps, this is not an issue, it is going to be shared with them, but if this is going to be your first-and-only flatpak app, you need to add few hundreds MB.

Scaevolus
1 replies
10h57m

Calibre's built in ebook viewer is very ugly.

xangel
0 replies
10h12m

I use it for everything but actual reading.

squidbeak
0 replies
6h24m

But it brings a densely featured library manager along with it. The OP seems to just want something to open books.

alias_neo
0 replies
2h44m

I love Calibre, even calibre-web, which I can use as an ebook store by modifying the URLs in my Kobo eReader so that I can download ebooks from my server directly from the eReader over WiFi.

I use Calibre to manage my collection, create book covers if I need to for non-boo k documents, web for organising and occasional looking up of things, and eReader for reading.

TiredOfLife
0 replies
6h41m

Calibre reader default to auto changing the opened file.

bmacho
5 replies
5h57m

I can open PDFs on every OS I've ever used.

I can't do that, on windows, or linux. I loved the experience that evince on ubuntu gave me for comics/manga some years ago (what I want: continuous pages, no menu or scrollbar visible, centered, fixed width, variable width, scrollbar on edge hover to show progress), and nothing that I've tried comes remotely close.

I was able to come close with HTML + CSS so I am partially content.

- - -

A recent big failure of mine is to find a music player on F-Droid, to listen to albums, that

  - is capable to play a song, 
  - is capable to seek in the song
  - doesn't need access to every media file ever on my phone, only the actual file (either by popping up the file chooser, or the file is opened from an another program)
I've checked at least 15 of them, and I think it is possible. I've found multiple examples that can do two (video players that don't need access to every file, can go forward/backward but refuse to play songs, also music players that don't need access to every media file, but can't jump to a position). I eventually had to give up on this one.

yjftsjthsd-h
4 replies
4h22m

I'm pretty sure VLC (from f-droid) does what you want. It might prefer to have full file access, but you can just deny that and just open files from a file browser or whatever.

bmacho
3 replies
3h48m

Is it working for you? It is not working for me, it keeps demanding permissions. It might be something specific to my phone, but also unlikely, since there are video and audio players that can play videos and audio without any permission at all.

yjftsjthsd-h
1 replies
2h23m

Just tested, TLDR yes it works.

Steps:

0. Uninstall VLC (I just did this to reset its permissions+config)

1. Install VLC (3.5.4 from fdroid)

2. Open VLC

3. It'll start with a splash screen, click next.

4. Next screen is VLC asking what permissions you want to give it. Pick the leftmost of the 3

5. Finish the setup wizard

6. It prompts for notification permission, which I allowed

7. You should be at a screen titled "Permission not granted", with 2 buttons. Click the right button to pick a file

8. Use the system file dialog to pick a file

9. It plays

bmacho
0 replies
49m

I don't have "2 buttons" on the screen titled "Permission not granted", and no file dialog. Also not working, when asking VLC to play the file from another program. Must be a bug or incompatibility somewhere. Also this must be the reason why I wasn't able to find a music player on F-Droid then :| Thank you for checking!

vetinari
0 replies
1h3m

Just be aware, that music player without file access won't be able to traverse/list directories, so playlists won't work. This is a limitation of any file-picker based file access (e.g. flatpak applications on linux, accessing files via portals have exactly the same limitations). As the sibling comment says, it is possible to run vlc this way, but be aware of the limitations.

skydhash
3 replies
12h14m

Zathura and okular can do it, as well as Sumatra on windows, but they suffer from ugly defaults. The best reader is koreader (kobo device in my case) as it let you customize the reading experience.

I tried creating a reader (macos) based on mupdf (koreader also used it) and it’s definitely possible to have an epub viewer. I also dislike bookshelf type software if they try to manage the files as well (a simple database can be fine). So far. I just use these to check the epub file and do the reading on the kobo instead (or convert to pdf if I want annotations (ipad)).

II2II
1 replies
7h10m

It's worth noting that KOReader is available for desktop Linux users, both as a Debian package and AppImage. The interface is better suited to touch screens though. I suspect that is why noone has bothered to port/build it for other desktop operating systems.

graemep
0 replies
6h20m

Its what I use on a Linux tablet because of the better touchscreen UI. Foliate did not work as well.

joveian
0 replies
4h43m

Zathura will by default keep a history and your position in each document, which I personally don't like (I want it to start from the beginning each time) but you can change this with 'set database "null"' in the config file. I tried zathura for pdfs a while ago but went back to evince due to the nice feature of showing all search results in a sidebar when you search. Unfortunately evince doesn't support epub. My zathurarc so far is:

  set database "null"
  set adjust-open "width"
  set scroll-wrap false
  set font "monospace light 24"
  set statusbar-home-tilde true
  set window-title-home-tilde true
  set window-title-page true
  set guioptions "v"
  map [fullscreen] <PageDown> scroll full-down
  map [fullscreen] <PageUp> scroll full-up
  map [normal] <PageDown> scroll full-down
  map [normal] <PageUp> scroll full-up
The font option just seems to cover the interface font (which is tiny if you don't set it) and guioptions "v" means no default status bar but always a vertical scroll bar. Page up and down use viewable pages instead of the default document page.

I was also just looking for an epub reader due to this Humble book bundle on game design that mostly only has epub:

https://www.humblebundle.com/books/all-about-gaming-mit-pres...

zeke_the_cat
0 replies
8h39m

Nightmarish with a tablet.

flobosg
0 replies
10h32m

Sioyek uses the MuPDF engine, which supports EPUB: https://mupdf.com/

Ringz
0 replies
9h45m

I stumbled over it but didn’t installed it because the website doesn’t mention the ebook functionality.

“Sioyek is a PDF viewer with a focus on technical books and research papers”

specproc
0 replies
12h15m

I like foliate, certainly one of the slicker options out there, but yes it does have the behaviour you describe.

I do have need of a library, but there's not much point for me if it's just one or two types of document. I've just moved to the new Zotero 7 beta, which has epub support, has always managed PDFs and web snapshots, and since Zotero 6 has supported rich annotation.

Perfect setup for me. One library containing all my notes, citations and reading.

pjerem
0 replies
11h20m

Ironically, the best ebook reader that just worked like you said was Microsoft Edge when it had its own engine, before it became "Chrome but even worse".

lf-non
0 replies
12h10m

Foliate's core function is an ebook reader and not library management. Once installed you can double click your epubs to open them on foliate - it will not move around your stuff.

There is a library view in the app but it is mostly a history of recently accessed files.

exe34
0 replies
12h23m

koreader is very polite about this, unlike calibre.

carlosjobim
0 replies
4h38m

FBReader does this on MacOS

adrian_b
0 replies
8h19m

On Linux, I prefer to use MuPDF for just opening any epub file.

That was originally a PDF reader, but it has been working for some time also with epub files.

It renders the pages not only very fast, but also better than any other epub reader that I have tried (all the others seem to make worse choices about the relative sizes of various page elements).

Matl
0 replies
3h48m

Calibre has a 'standalone' ebook viewer component.

9dev
0 replies
9h11m

I'm actually working on something like this:

https://github.com/project-kiosk/kiosk/tree/v3

I'm still deep in the trenches, though. That project is like my personal zen garden of deadline-free software development, so don't expect a release soon. Happy if someone would be interested in contributing, though :)

codethief
7 replies
6h19m

My favorite thing about Foliate:

Add bookmarks and annotations. Reading progress, bookmarks, and annotations are stored in plain JSON files, so you can export or sync them easily with any tool or storage service.

The data for each book is stored in a JSON file named after the book's identifier.

How are identifiers generated? For formats or books without unique identifiers, Foliate will generate one with the prefix foliate:, plus the MD5 hash of the file.

Finally, someone recognized the benefit of using file hashes for ID purposes and my PDFs no longer get modified when I annotate them!

Now I just wish music playlists used hashes, too…

explosion-s
6 replies
4h38m

Maybe I'm not understanding, but wouldn't using the file hash to keep track of things make it really tricky if the file is modified in any way? E.g. when annotating a PDF it would lose all previous data associated because the hash would change

braiamp
2 replies
4h3m

Reading progress, bookmarks, and annotations are stored in plain JSON files

The file is not modified.

cl3misch
1 replies
3h41m

I think they mean that the hash in the JSON record does not match the PDF file anymore, after the PDF has been changed by some other program.

kylebenzle
0 replies
2h56m

I agree but it seems the original PDF is not changed but you are right, if it is edited directly and renamed then it will fail to load the JSON.

TuringTest
1 replies
4h6m

I guess they'd use a hash of the book contents, not the whole file?

ericjmorey
0 replies
3h52m

You end up with the ebook file and an annotations and bookmarks file. I'm assuming that the program would just look in the same directory as the ebook file or some configurable location.

mook
0 replies
1h59m

I download still-running fiction from the internet and read them locally, and periodically replace the files with versions with more chapters. It does not sound like the workflow would work for me.

(This also means hashing the contents wouldn't work.)

__rito__
6 replies
11h25m

I used to read all ebooks on desktop when smartphones didn’t enter the market. Now I read on Kindle and a dedicated tab.

There’s only one kind of book I read on my laptop now- programming books PDFs. To code side by side. That's all. And PDF is better for rendering equations, graphs, code with syntax highlighting, and figures.

I use EPUB for "flat" essays, novels, storybooks, poems, etc. i.e. non-text/non-technical stuff.

And I use my Kindle or my tab always for that.

For the once or twice need of opening EPUBs on my laptop, I just use Okular.

Won't install something via Snap/Flat or compile it for that one-off kinds of use.

anentropic
3 replies
6h47m

I bought a Kindle for this (programming books and PDFs) but was quickly disappointed

The device itself is pleasant enough

But I should have guessed, the experience for managing any content bought/downloaded from outside Amazon is almost unusable

__rito__
2 replies
6h6m

the experience for managing any content bought/downloaded from outside Amazon is almost unusable

Not at all.

I buy EPUBs from all kinds of vendors, across multiple languages. I also have many downloaded from Standard Ebooks [0].

All EPUB works fine, and provides great experience- as long as a file does not contain one of the following- custom page illustrations, syntax highlighted code, graphs, charts, maps, math equations, color comicstrip etc.

Just use PDF in tablet or laptop for arxiv papers, math/programming books, etc.

Use Kindle for recreational reading- like novels, poetry, essays, etc. I am a huge fan of reading since basically learning to read. And I love Kindle! Am a user for last ~10 years.

[0]: https://standardebooks.org

anentropic
1 replies
5h0m

the EPUB files work fine

and it's possible to load PDFs on there

my complaint is that the tools for organising and managing the library are crap

__rito__
0 replies
2h25m

Yeah definitely. It's very slow, and the screen refresh rate is sometimes frustrating.

But that is how it manages to hold its charge for a full month!

nyanpasu64
0 replies
10h18m

A Kindle is a physical device and a tab is a tablet (I initially thought it was browser tab)? My family sat/stepped on two Kindles (crushing the screens to oblivion) growing up and nobody has dared buy another one since; I don't know if it's time to reconsider.

consf
0 replies
7h16m

Align well with the strengths and limitations of various devices and file formats

rkwasny
5 replies
11h40m

I’d love to have a beautifully designed version of Calibre for macOS. I’d even pay for it! It would be fantastic to have a sleek way to organize my ebook collection, especially if it could also store papers from Arxiv etc.

karolist
2 replies
8h52m

Would you mind listing some of the killer Calibre features you'd expect to see in an MVP?

skydhash
0 replies
5h46m

Cover grid, virtual libraries, customizable details pane (select the fields to show), filtering (both tree and search), virtual libraries (collection), export template, metadata editing and embedding (write to file).

Thats the few stuff I used regularly.

jkingsman
0 replies
32m

Not the OP, but my library management is 90% tagging, format conversion, metadata fetch and editing, and format tune-up (font subsetting or stripping fonts, fixing covers, etc.). Virtual libraries keep me organized based on tags.

mattkevan
0 replies
10h24m

I would love this too. Calibre is amazingly useful and powerful, there’s nothing else like it, but my goodness the UI is ugly.

I’ve come to appreciate it as some sort of outsider art anti-design, defiantly refusing to follow any notion of design consistency and aesthetics. But still, a nicely designed version would be amazing.

dsego
0 replies
8h23m

How do you feel about the built-in Apple Books?

reify
5 replies
11h45m

I used to always install Foliate when I installed a new linux distro though it only opens epub and not pdf's. The default on linux is Evince for Pdf.

Koodo is the way to go

However, more recently I have been using "Koodo" reader and library for both epub and pdf

It has a great visual library too. I only use Koodo now.

https://github.com/troyeguo/koodo-reader

http://aur.archlinux.org/packages/koodo-reader-bin

dsr_
3 replies
4h55m

It might be the most awesome software in the world, but if I can't read the majority of bug reports, it's not something I can feel comfortable using.

(This is not a flaw in the software, this is a flaw in me: I don't know how to read -- I'm assuming it's Mandarin Chinese, but I can't even reliably tell that.)

TechDebtDevin
1 replies
4h11m

You have dozens and dozens of translation tools at your disposal that take <10 seconds to solve that problem.

dsr_
0 replies
1h17m

You want me to trust random translation tools on the internet for technical issues?

No.

Milner08
0 replies
4h12m

If thats really such an issue, you can just get the browser to translate them for you?

synergy20
0 replies
3h51m

I have tried nearly all the epub readers mentioned.

Koodo is now what I use, it renders the best for me, I feel like I'm reading a paper book, which is great to me, the fonts and theme are great.

Calibre's epub reader is painfully slow to start, and it does not look that good either.

I wish other epub readers can have better fonts and color.

adonese
5 replies
8h17m

Is there a nice ebooks reader on android. The options I keep running to are rather very disappointing

hgyjnbdet
0 replies
1h7m

Mupdf.

gabelschlager
0 replies
8h7m

I quite liked ReadEra. Scans your phone for all epubs, allows grouping and organizing them, but most importantly, has a good looking, customizable reading interface.

alexejb
0 replies
8h14m

KOreader is quite nice after some setup.

TiredOfLife
0 replies
6h40m

Moon+ reader for non technical books

rubymamis
3 replies
8h24m

Linux needs more beautiful apps with attention to UX - the same kind of care that developers of macOS apps put into their apps. That's why even when I'm building an app for Linux[1] I start by trying to make the best macOS app first.

[1] https://www.get-plume.com

EDIT: Spelling errors.

karolist
2 replies
7h8m

Beautiful app, how did you deal with Qt licensing if I may ask?

One nit regarding website, toggling dark mode causes a video change that has some ugly flashing, I think you could improve this by recording the video without dropshadow and adding the shadow with CSS.

rubymamis
1 replies
4h48m

Thanks! I'm using the LGPL version of Qt, since I'm not changing Qt's own source code I can release my app has closed-source easily with dynamic linking. I could also release it with static linking with no problem (in my understanding), if I allow people to download the object files as well so they can link them to any version of Qt they want (but that's a bit too much for now).

Thanks for your suggestion, I'll consider it. But what do you mean by ugly flashing? Is it the instant background change that turn you off?

karolist
0 replies
2h39m

Yes, the background changes instantly, but video replacement is slower, therefore for an moment the old video shadow background appears distinctly from the site's background color. This is on M1 Max 64 with latest Chrome.

Also, there's a problem with responsive text reflow on your personal site, I've only noticed because I'm using a tiling wm.

I've made videos to showcase

https://gofile.me/7cmOh/e1dTClPiT

https://gofile.me/7cmOh/VyHzagGGa

mattkevan
3 replies
8h6m

I’ve not been happy with the state of desktop ebook readers for a while, so I recently built a simple web-based ebook reader. It’s designed to be a quick and easy way to read books while also providing decent layout and typography.

Although it’s a website, books and reading histories are saved in the browser’s local storage and it doesn’t track anything.

Here’s the link: https://www.minimalreader.xyz

azdle
1 replies
3h6m

Hey, might I suggest adding a public domain example book? I tried adding a couple of different epubs that I happen to have on my phone, but it just says "Please select an EPUB file." when I do. (Using mobile Firefox.)

mattkevan
0 replies
2h57m

That's a good idea, thanks for the suggestion.

It seems to be quite picky about which books it accepts sometimes, will have to look into that :)

rrishi
0 replies
7h29m

any plans to add pdf support?

dantondwa
3 replies
10h21m

I wish this worked on Windows too. In general, I'd love to see all those lovely GTK4 apps on Windows, they look so nice.

boredhedgehog
1 replies
9h24m

There's Alexandria(https://github.com/btpf/Alexandria), which was inspired by Foliate and supports Windows and MacOS.

rrishi
0 replies
7h15m

oh this is great. there's still room for improvement but it satisfies my basic requirements very well.

thanks, this is quite useful for my macos.

shortrounddev2
0 replies
7h2m

Did you try wsl?

rabbitofdeath
2 replies
3h45m

I love this on my laptop - but struggling for iOS - particularly iPad - any good suggestions? I just want to read books, keep my place and not have any ads -is this that hard?

leobg
0 replies
2h27m

Voice Dream Reader. Using it for 10+ years. Haven’t found anything that comes close.

dmd
0 replies
3h43m

The built in Books meets all those criteria.

casenmgreen
2 replies
5h0m

Can't view images.

This is because they are in webp format.

I have support for this format disabled in browser, because I know of no simple native viewer on Linux, so I in effect cannot save such images, because I cannot view them.

adrian_b
0 replies
4h23m

Firefox works fine as a native viewer of the saved webp images on Linux, if you associate the file extension/file type with it. Also Chromium/Chrome can be used for the same purpose.

The only disadvantage is that the browsers are slower and they have much more inconvenient user interfaces than the dedicated image viewers, for functions like zoom and pan or passing to the next or previous image in a directory.

An alternative is to use the movie player "mpv" as the native webp viewer. This is much faster and it has the advantage of easy navigation in a directory with webp images and of easy zoom and pan (you may need to edit the mpv configuration and bind the ZOOMIN and ZOOMOUT commands to whatever keys you prefer).

Lex-2008
0 replies
4h55m

ffplay?

inSenCite
1 replies
5h48m

This look pretty neat, wish there were some decent ebook readers for Android that can handle both pdf and ebpub....I was looking into moon reader but it requires an obnoxious breadth of permissions that seems very odd. Calibre is still my go-to on windows

nathansherburn
0 replies
4h26m

Thanks for the write up!

I just wanted to chime in to say the Foliate code is really beautifully written too.

I was able to hack together an epub audiobook reader by running a custom version of foliatejs in Microsoft Edge (which has an amazing and free text to speech engine called "read aloud"). It's VERT hacky but you can try it here: https://nathansherburn.github.io/foliate-js/

Works on mobile and desktop Edge.

wahnfrieden
0 replies
8h28m

I’m using this app’s EPUB engine for my iOS/macOS app, Manabi Reader, which is for learning Japanese through reading (but I want to expand to more languages and general purpose use soon)

https://reader.manabi.io

throwoutway
0 replies
6h31m

Looks beautiful! While I mostly read on kindle, this makes me want to setup a new Ubuntu install. Haven't had that feeling in a while

thaumasiotes
0 replies
10h13m

Enjoy features such as auto-hyphenation

Is this a feature of the app? Can I bundle an ebook with my own hyphenations and ensure that only those hyphenations will appear when Foliate displays the ebook?

Kindles have incredibly awful hyphenation. It seems to originate from somebody confusing the algorithm for hyphenation -- which is "there's a big list of hyphenation points for every word in existence, and when you want to hyphenate a word, you look it up in the list and choose the best available hyphenation point" -- with the algorithm for compressing the master hyphenation list, which involves representing the list as a priority-ordered set of rules for where a hyphen should appear based on a few surrounding letters.

But the result is that Kindles are constantly trying to hyphenate words based on a compressed list of words that doesn't include the word that needs to be hyphenated, with results like "Q-ingjiao".

This could be easily solved by checking every ebook for words that don't appear in the master list, and bundling a custom list of just those words with every book, falling back to the master list in the common case where a word that needs to be hyphenated isn't present in the custom list. But I guess nobody cares.

sqeaky
0 replies
2h20m

Does it have a dark mode?

relyks
0 replies
11h44m

This is my favorite e-book reader to use on my desktop :) (it's great for epubs)

p0w3n3d
0 replies
5h54m

This looks like a decent PDF reader too, especially with Adobe's decision to cease shipping the Acrobat Reader to Linux

ntnsndr
0 replies
30m

I love this app! I recently went shopping for Linux readers and came right back to Foliate for its common sense and feature-richness beneath a clean UX.

newzisforsukas
0 replies
10h10m

foliate is pretty good for epub. I have been using it for several months, and definitely prefer it to fbreader, calibre, etc. It is much faster than those. It has a good TTS interface as well.

nabla9
0 replies
8h37m

I have been testing this for 15 minutes.

- enforces two page layout. I don't see how to fix it. advice does not fix it: https://github.com/johnfactotum/foliate/discussions/1166

- can't open all pdf that other viewers can.

- zoom does not work, settings do nothing.

Result of the 'style' is smudge view you can't fix.

joshstrange
0 replies
6h45m

The app looks beautiful, but I can’t unsee the clipped buttons at the top and bottom on the left. Why wouldn’t you use the same border radius as the window? Or have the window not be rounded?

giraffes
0 replies
1h56m

Is there something like this for Windows?

garyfirestorm
0 replies
1h21m

I installed snap version of Foliate on Ubuntu20.04. And it failed to work for me (when I open a valid epub, it is just blank). I’m so disappointed when I see something that I badly want and it doesn’t work.

beginnings
0 replies
21m

its written in javascript, I dont want javascript apps on my system

asimovfan
0 replies
9h26m

i need something like this for the chromebook / android..

the only app that works fine with chromebook is its own gallery viewer, but has no bookmarks no annotations

in android theres only xodo which is paid and proprietary

__gotcha___
0 replies
10h2m

been trying to use it on windows. Its a great app on linux.

__gotcha___
0 replies
10h1m

Been trying to use it on windows. Best app for linux.