foliate

johnfactotumGPL-3.0更新放缓

基于 GTK 的轻量电子书阅读器,支持 EPUB、MOBI、AZW3、FB2、CBZ 等格式,提供清爽的阅读界面和 OPDS 书库浏览。

Read e-books in style

3.3.0发布于 2025-04-01 07:09 UTC8,872star +1 / 7 天436fork同步于 2026-11-10 17:31 UTC

怎么上手

由 README 提炼,执行前请确认
git clone --recurse-submodules https://github.com/johnfactotum/foliate.git
gjs -m src/main.js
硬件要求按 README 说明

README 未说明硬件要求;这是 Linux 桌面应用,依赖 gjs、gtk4、libadwaita 和 webkitgtk-6.0,未提及 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 GTK4 的 Linux 桌面电子书阅读器,支持多种格式与优雅排版

基于 GTK 的轻量电子书阅读器,支持 EPUB、MOBI、AZW3、FB2、CBZ 等格式,提供清爽的阅读界面和 OPDS 书库浏览。

核心能力

  • 用 WebKitGTK 渲染电子书内容
  • 支持自动断字与文本转语音朗读
  • 提供注释、弹出脚注与维基百科查询
  • 支持竖排书写与深色模式
  • 可用 tracker 追踪文件位置

容易踩的坑

仓库使用 git submodule,克隆时必须加 --recurse-submodules,否则无法运行;直接运行源码不会保存设置,需先执行 glib-compile-schemas data 并设置 GSETTINGS_SCHEMA_DIR;自动断字需额外安装 hyphen-* 语言规则包,文本转语音需安装 speech-dispatcher 和 espeak-ng 等输出模块

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本3.3.0
  1. 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
  2. 3.2.12024-12-20 · 2024-12-20 10:34 UTC
    查看更新说明
    • Fixed tables not displayed in FB2 books (#1445)
    • Updated translations
  3. 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)
  4. 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)
  5. 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

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Foliate

    Read books in style.

    Screenshot

    Installation

    Run Time Dependencies

    • gjs (>= 1.82)
    • gtk4 (>= 4.12)
    • libadwaita (>= 1.8; gir1.2-adw-1 in Debian-based distros)
    • webkitgtk-6.0 (webkitgtk6.0 in Fedora; gir1.2-webkit-6.0 in 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-config
    • gettext

    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

    Dark mode

    Wikipedia lookup

    Book metadata

    Annotations

    Popup footnote

    Vertical writing

    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.