仓库使用 git submodule,克隆时必须加 --recurse-submodules,否则无法运行;直接运行源码不会保存设置,需先执行 glib-compile-schemas data 并设置 GSETTINGS_SCHEMA_DIR;自动断字需额外安装 hyphen-* 语言规则包,文本转语音需安装 speech-dispatcher 和 espeak-ng 等输出模块
git clone --recurse-submodules https://github.com/johnfactotum/foliate.git
gjs -m src/main.jsREADME 未说明硬件要求;这是 Linux 桌面应用,依赖 gjs、gtk4、libadwaita 和 webkitgtk-6.0,未提及 GPU 或显存要求
基于 GTK4 的 Linux 桌面电子书阅读器,支持多种格式与优雅排版
基于 GTK 的轻量电子书阅读器,支持 EPUB、MOBI、AZW3、FB2、CBZ 等格式,提供清爽的阅读界面和 OPDS 书库浏览。
核心能力
- 用 WebKitGTK 渲染电子书内容
- 支持自动断字与文本转语音朗读
- 提供注释、弹出脚注与维基百科查询
- 支持竖排书写与深色模式
- 可用 tracker 追踪文件位置
容易踩的坑
- 3.3.0最新正式版2025-04-01 · 2025-04-01 07:09 UTC
- Updated for GNOME 48
- Added support for mouse forward/backward buttons (#1474)
- Improved text wrapping in headings
- Improved default link style
- 3.2.12024-12-20 · 2024-12-20 10:34 UTC
查看更新说明
- Fixed tables not displayed in FB2 books (#1445)
- Updated translations
- 3.2.02024-11-28 · 2024-11-28 04:12 UTC
查看更新说明
- Revamped translation tool, which now remembers the last target language (#1159), and allows filtering languages
- Improved PDF support: the rendering is faster and no longer blurry
- Improved rendering of fixed layout EPUBs (see comments in #1318)
- Improved focus handling: the focus is no longer lost when navigating to new sections, and tabbing no longer breaks layout
- Improved text selection across pages, allowing selecting to the previous page
- It now only shows more than one column when the viewport is in landscape (or, for vertical writing, in portrait)
- Changed shortcut for the table of contents from Ctrl+Alt+T to Ctrl+T (#1316)
- Added Space/Shift+Space shortcuts for turning pages (#1336)
- Added option to open books with external application from the library view (#1372)
- Fixed formatting of copied text (#1191)
- Fixed extra border in CBZ files (#1421)
- Fixed handling of bare search template URL in OPDS feeds (#1401)
- 3.1.12024-04-04 · 2024-04-04 00:26 UTC
查看更新说明
- Fixed end of chapter cut off when chapter starts with page break (#1179)
- Fixed incorrect text wrapping in tables (#1278)
- Fixed a performance issue with OPDS catalogs (#1287)
- 3.1.02024-01-05 · 2024-01-05 11:19 UTC
查看更新说明
- Added support for OPDS catalogs, now with support for OPDS 2.0
- Added option to override publisher font (#1113)
- Added option to reduce animation (#1161)
- Added support for JPEG XL in CBZ (#1193)
- Fixed getting file from Tracker in Flatpak
- Fixed parsing of non-year-only first-century and BCE dates
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Foliate
Read books in style.

Installation
Run Time Dependencies
gjs(>= 1.82)gtk4(>= 4.12)libadwaita(>= 1.8;gir1.2-adw-1in Debian-based distros)webkitgtk-6.0(webkitgtk6.0in Fedora;gir1.2-webkit-6.0in Debian-based distros)
Optional Dependencies
To enable auto-hyphenation, you will need to install hyphenation rules, e.g., hyphen-en for English, hyphen-fr for French, etc. (which strictly speaking are optional dependencies for WebkitGTK, not Foliate itself).
For text-to-speech support, install speech-dispatcher and output modules such as espeak-ng.
If installed, tracker (>= 3; gir1.2-tracker-3.0 in Debian-based distros) and tracker-miners can be used to track the locations of files.
Obtaining the Source
The repo uses git submodules. Before running or installing, make sure you clone the whole thing with --recurse-submodules:
git clone --recurse-submodules https://github.com/johnfactotum/foliate.git
Or download the tarball (the .tar.xz file) from the Releases page.
Run without Building or Installing
It's possible to run directly from the source tree without building or installing. Simply run
gjs -m src/main.js
This can be useful if you just want to quickly try out Foliate or test a change.
But note that this will run it without using GSettings, so settings will not be saved. To solve this, you can compile the schema by running
glib-compile-schemas data
Then you can set the schema directory when running the app:
GSETTINGS_SCHEMA_DIR=data gjs -m src/main.js
Building and Installing from Source
The following dependencies are required for building:
meson(>= 0.59)pkg-configgettext
To install, run the following commands:
meson setup build
sudo ninja -C build install
To uninstall, run
sudo ninja -C build uninstall
Installing to a Local Directory
By default Meson installs to /usr/local. You can install without root permissions by choosing a local prefix, such as $PWD/run:
meson setup build --prefix $PWD/run
ninja -C build install
You can then run it with
GSETTINGS_SCHEMA_DIR=run/share/glib-2.0/schemas ./run/bin/foliate
Flatpak
Foliate is available on Flathub.
For developement with Flatpak, use GNOME Builder to open and run the project.
Snap
Foliate is available on the Snap Store. To install:
sudo snap install foliate
Screenshots






License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The following JavaScript libraries are bundled in this software:
- foliate-js, which is MIT licensed.
- zip.js, which is licensed under the BSD-3-Clause license.
- fflate, which is MIT licensed.
- PDF.js, which is licensed under Apache License 2.0.