foliate

A simple and modern GTK eBook reader

Github星跟踪图

?️ The master branch contains a work-in-progress rewrite. The old code can be found in the 1.x branch.


Foliate

A simple and modern GTK eBook viewer, built with GJS and Epub.js.

View

Website: https://johnfactotum.github.io/foliate/

Documentation: https://github.com/johnfactotum/foliate/wiki

Features

  • View .epub, .mobi, .azw, and .azw3 files in two-page view or scrolled view
  • Customize font, line-spacing, margins, and brightness
  • Light, sepia, dark, and invert mode, or add your own custom themes
  • Reading progress slider with chapter marks
  • Bookmarks and annotations
  • Find in book
  • Quick dictionary lookup with Wiktionary, Wikipedia, and dictd, or translate text with Google Translate
  • Touchpad gestures—use two-finger swipe to turn the page
  • Basic text-to-speech support with eSpeak NG and Festival

Installation

Packaging status

Optional dependencies

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.

For text-to-speech support, install espeak-ng, or festival, and packages for the individual voices.

To enable spellchecking for notes, gspell is requried.

Building manually from source

The following dependencies are required for building:

  • meson (>= 0.40)
  • gettext

The following are runtime requirements:

  • gjs (>= 1.52)
  • webkit2gtk

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

Build and run from source without installing

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

Building a Debian/Ubuntu Package

sudo apt install build-essential debhelper meson gettext
dpkg-buildpackage -us -uc -nc

Flatpak

Flathub

Foliate is available on Flathub.

Building Flatpaks manually

Using Gnome Builder

Open Gnome Builder, choose "Clone Repository…", and follow the instructions. After cloning the project, hit Ctrl+F5 to build and run Foliate.

Using flatpak-builder
flatpak-builder --force-clean --install --user build com.github.johnfactotum.Foliate.json

Snap

Foliate is available on the Snap Store.

Screenshots

Primary menu:

Menu

Navigation:

Navigation

Lookup:

Lookup

Annotations:

Note

Annotations

Skeuomorphic mode:

Skeuomorphism

Dark mode:

Dark

Book metadata display:

About

Alternative sidebar UI:

Sidebar


Note: two JavaScript libraries are bundled in this software:

  • Epub.js, which is licensed under FreeBSD. The included file is patched to fix #76 and #177
  • The minified version of JSZip, which is dual-licensed. You may use it under the MIT license or the GPLv3 license. See LICENSE.markdown

This software also includes parts from KindleUnpack, which is liscensed under GPL-3.0.

主要指标

概览
名称与所有者johnfactotum/foliate
主编程语言JavaScript
编程语言Python (语言数: 4)
平台
许可证GNU General Public License v3.0
所有者活动
创建于2019-05-26 11:16:14
推送于2025-04-08 06:21:10
最后一次提交2023-11-19 20:30:07
发布数35
最新版本名称3.3.0 (发布于 )
第一版名称1.0.0 (发布于 )
用户参与
星数7k
关注者数66
派生数313
提交数1.7k
已启用问题?
问题数1071
打开的问题数202
拉请求数295
打开的拉请求数2
关闭的拉请求数39
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?