A simple and modern GTK eBook viewer, built with GJS and Epub.js.
Website: https://johnfactotum.github.io/foliate/
FAQ: https://github.com/johnfactotum/foliate/wiki
- Supported formats:
- EPUB (.epub, .epub3)
- Kindle (.azw, .azw3) and Mobipocket (.mobi)
- FictionBook (.fb2, .fb2.zip)
- Comic book archive (.cbr, .cbz, .cbt, .cb7)
- Plain text (.txt)
- Single-column, two-column, or continuous scrolling layouts
- Adjust font, line-spacing, and margins
- Customize colors and brightness
- Reading progress slider with chapter marks
- Bookmarks and annotations
- Find in book
- Open footnotes in popovers
- Touchpad gestures—use two-finger swipe to turn the page
- Quick dictionary lookup with Wiktionary, Wikipedia,
dictd
, andsdcv
, or translate text with Google Translate - Basic text-to-speech support with eSpeak NG and Festival
Distro | Package Name/Link | Maintainer |
---|---|---|
Arch Linux | foliate |
Jerome Leclanche |
Fedora | foliate |
Artem Polishchuk |
Manjaro | foliate |
|
Ubuntu (Snap) | foliate |
Merlijn Sebrechts and John Factotum |
Ubuntu (PPA) | foliate Stable Releases com.github.johnfactotum.foliate Daily Buillds |
Archisman Panigrahi |
Void Linux | foliate |
Lorem |
Debian packages can be downloaded from the releases page.
iso-codes (>= 3.67)
is needed for displaying language and region names.
For Mobipocket (.mobi) and Kindle File Format (.azw, .azw3) support, you would need Python (2.7 or >= 3.4).
Auto-hyphenation is done using CSS hyphenation. To enable CSS hyphenation in WebKitGTK, you will need to install the hyphenation rules, e.g., hyphen-en
for English, hyphen-fr
for French, etc.
For offline dictionary support, install dictd
or sdcv
.
For text-to-speech support, install espeak-ng
, or festival
, and packages for the individual voices.
To enable spellchecking for notes, gspell
(gir1.2-gspell-1
for Debian based distributions) is requried.
libhandy
(gir1.2-handy-0.0
) is recommended to make the interface work better on larger as well as smaller screens.
If tracker
(gir1.2-tracker-2.0
) is installed, it can be used to track the locations of files.
The following dependencies are required for building:
meson (>= 0.40)
gettext
The following are runtime requirements:
gjs (>= 1.52)
webkit2gtk
(gir1.2-webkit2-4.0
for Debian based distributions)
To install, run the following commands:
meson build --prefix=/usr
ninja -C build
sudo ninja -C build install
To uninstall, run
sudo ninja -C build uninstall
The following commands will build Foliate and install it inside a directory:
meson build --prefix=$PWD/run
ninja -C build
ninja -C build install
To run the application, you'll need to set the schema directory for GSettings:
GSETTINGS_SCHEMA_DIR=$PWD/run/share/glib-2.0/schemas ./run/bin/com.github.johnfactotum.Foliate
sudo apt install build-essential debhelper meson gettext
dpkg-buildpackage -us -uc -nc
Foliate is available on Flathub.
Open Gnome Builder, choose "Clone Repository…", and follow the instructions. After cloning the project, hit Ctrl+F5 to build and run Foliate.