| Foliate | |
|---|---|
Foliate 3.1.1, displaying the bookAlice's Adventures in Wonderland by Lewis Carroll | |
| Initial release | 26 May 2019; 6 years ago (2019-05-26) |
| Stable release | |
| Repository | |
| Written in | JavaScript |
| Operating system | Linux |
| Available in | 12 languages[2] |
List of languages Chinese, Czech, Dutch, French, German, Indonesian, Italian, Portuguese, Putonghua, Russian, Spanish, Swedish | |
| Type | E-book reader |
| License | GPLv3 or later (Free Software) |
| Website | johnfactotum |
Foliate is a free and open-source program for readinge-books inLinux. In English,foliate is an adjective meaning to be shaped like a leaf, from the Latinfoliatus, meaning leafy.[3]
Foliate focuses on reading and supports book management with a dedicated library view.[4] It supports typical e-book formats withreflowable text:EPUB (primary focus),Mobipocket,AZW(3), and no formats with fixed layout, althoughPDF support is also available.
Its customizable andtheme-baseduser interface is inspired by those of portablee-reader hardware devices. It follows theGNOME standards and automatically adapts to different screen formats.[5] It is streamlined for distraction-free reading and is described as pleasant and more polished than other free desktop applications. Books are displayed in a paginated view, with double-page or single-page view depending on screen size, or in a continuous scrolling view, with customizable typeface, spacing/margins, brightness and size/zoom.Control elements hide with an automatic fading effect while basic navigation with hidden controls is still possible by clicking/tapping on pages or arrow keys.[6]It has a toggleable navigationsidebar, can display a reading time estimate with a progress slider with chapter markers and supportsmulti-touch gestures such as pinch zoom. A full-screen mode can be activated.[6]
Foliate can browse theOPDS feed ofProject Gutenberg,Standard Ebooks andFeedbooks, and can automatically download royalty free ebooks from these sources.[4] It is also possible to manually add other OPDS sources.
Foliate supportsspeech synthesis usingeSpeak, eSpeakNG orFestival, albeit without automatic detection of the content language. It is also possible to use Google's text to speech service in Foliate.[7]A full-text search is available (also for annotations), as well as word lookup (inWikipedia andWiktionary or offline dictionaries via adictd interface) and integration ofGoogle Translate.
The application stores reading progress, bookmarks and annotations in a central directory using oneJSON file per book. These can be synchronized with other devices, although it uses a format that does not work immediately with other reading software. It can also check for spelling errors in annotations and export them asMarkdown.[8]It is not able to synchronize e-books with a hardware reader device.
The application is written inJavaScript, based on the JavaScript interpreterGJS, the epub.js library, the rendering engineWebKit andGTK 4 (previously GTK 3) for the user interface. Optionally gspell can be used for spell checking of annotations.[9] Support for the Kindle formats (mobi, azwX) was based on aPython module until version 3.0.0.
Version 3.0.0 addedGTK 4 andLibAdwaita support. Released in November 2023, it is a full rewrite of the app. It now has its own e-book parser and renderer.[10]
Foliate is published asFree Software, and therefore with its completesource code, under the terms of theGNU General Public License version 3 or later. It was first published on 26 May 2019 onGitHub.[11]Binary files are distributed primarily asFlatpak packages via Flathub.[12] These can be installed on several majorLinux distributions using on-board tools.[9]It has been included in the defaultpackage repositories of several distributions, includingFedora,Arch andOpenSUSE.[13] Additionally, there areSnap packages available through the snap store and a.deb file forDebian-based distributions which can also be installed and updated via aPersonal Package Archive underUbuntu and its siblings. It can be also installed in anAndroid phone using Termux andVNC.[14]