当前位置: 首页 > news >正文

Foliate:沉浸式阅读!!!

项目简介

Foliate 是一款开源的电子书阅读器,专为现代操作系统设计,提供了优雅且实用的阅读体验。它支持多种电子书格式,包括 EPUB、Mobipocket、Kindle、FB2、CBZ 和 PDF,让用户能够以分页或滚动模式阅读。Foliate 允许用户自定义字体、间距、边距和颜色方案,以适应个人的阅读偏好。此外,它还具备自动隐藏窗口控件的功能,以减少阅读时的干扰。

特点

它提供了一个无干扰的沉浸式阅读环境,支持多种电子书格式,并允许用户自定义阅读界面的字体、间距、边距及颜色。它结合了直观的触摸翻页手势、便捷的导航工具、书签与注释功能,并集成了词典查询、翻译及文本朗读等增强功能,同时支持复杂的排版需求,如右至左文本和垂直书写,旨在为用户提供既美观又实用的阅读体验。

开源成就

目前已经取得6.1K Star

主要功能包括:
  • 支持触摸板和触摸屏手势,提供流畅的翻页体验。

  • 侧边栏提供目录、书签和注释功能,方便用户快速导航和记录重要内容。

  • 阅读进度跟踪和导航历史,帮助用户记住阅读位置。

  • 支持添加书签和注释,并且可以将它们存储在 JSON 文件中,方便导出和同步。

  • 内置工具可以查询 Wiktionary 和 Wikipedia,以及使用 Google Translate 翻译文本。

  • 支持文本到语音功能,以及高级渲染特性,如自动连字、弹出式脚注和媒体覆盖。

安装指南
  1. 确保系统已安装 Flatpak。
    apt install flatpak
    
  2. 添加 Flathub 存储库:
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    
  3. 安装 Foliate:
    flatpak install flathub com.github.johnfactotum.Foliate
    
  4. 运行 Foliate:
    flatpak run com.github.johnfactotum.Foliate
    

Foliate凭借其强大的兼容性、高度可定制的界面以及丰富的辅助功能,成为电子书爱好者的理想选择。无论是追求极致阅读体验的书虫,还是需要高效管理阅读内容的学习者,Foliate都能满足其需求。

相关文章:

Foliate:沉浸式阅读!!!

项目简介 Foliate 是一款开源的电子书阅读器,专为现代操作系统设计,提供了优雅且实用的阅读体验。它支持多种电子书格式,包括 EPUB、Mobipocket、Kindle、FB2、CBZ 和 PDF,让用户能够以分页或滚动模式阅读。Foliate 允许用户自定义…...

【excel基本操作-sumif绝对引用和相对引用

低量级数据的存储 复杂且无法优化的数据报表 怎么学excel? 一、输入与输出 二、计算与处理 三、可视化 四、连接匹配与自动化 excel操作笔记 打开表格第一步筛选 所以筛选的快捷键:shiftctrll 排序:多列排序 开始-排序与筛选-自定义排序-设置关键字添…...

word及Excel常见功能使用

最近一直在整理需规文档及表格,Word及Excel需要熟练使用。 Word文档 清除复制过来的样式 当复制文字时,一般会带着字体样式,此时可选中该文字 并使用 ctrlshiftN 快捷键进行清除。 批注 插入->批注,选中文本 点击“批注”…...

网页中的某个元素高度突然无法设置

做网页时本来一个div的高度好好的&#xff0c;结果代码打着打着突然发现有个div的高度变的很小&#xff0c;把我很多在这个div里的元素给搞的看不见了。 找了好久的原因最后发现是这个div的结束标签</div>不小心被我删了,之后把这个</div>给补上就好了。...

springboot给不同用户动态定制请求结果思路

我有个朋友在公司遇到一个需求&#xff1a;某个接口&#xff0c;面向不同的用户返回的字段数不一样字段数。 我举例两种场景并且都给一个方案他&#xff0c;同时也供大家参考。 场景1&#xff1a; 接口返回的是List 或者直接就是entity&#xff0c;且entity对应某张数据表&…...

【网络】HTTP(超文本传输协议)详解

目录 引言一、HTTP的基本概念1.1 什么是HTTP&#xff1f;1.2 HTTP的工作流程1.3 HTTP工作流程图 二、HTTP请求与响应2.1 HTTP请求格式2.2 HTTP响应格式 三、常见的HTTP状态码3.1 其他状态码示例 四、HTTP版本的演变4.1 HTTP/1.04.2 HTTP/1.14.3 HTTP/24.4 HTTP/3 五、HTTP的安全…...

poll()方法和remove()方法的区别是什么?

在Java的集合框架中&#xff0c;poll()方法和remove()方法是两个常用于从队列&#xff08;Queue&#xff09;头部获取并移除元素的方法。尽管它们的作用相似&#xff0c;但在行为细节和适用场景上存在显著的区别。以下是对这两个方法区别的详细阐述&#xff0c;旨在帮助开发者更…...

小程序跳转另一个小程序

1.配置要跳转的appid和小程序页面路径 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//develop开发版&#xff1b;trial体验版&#xff1b;release正式版envVersion: release, success(res) {// 打开成功console.log("跳转小程序成功&…...

介绍一下数组(c基础)(详细版)

c初期&#xff0c;记住规则&#xff0c;用规则。 我只是介绍规则。&#xff08;有smart版&#xff09; 数组 arr 看成一个集合但元素有次序了。 如何计算数组的大小-CSDN博客 简单讲解一下strlen与sizeof&#xff08;c基础&#xff09;-CSDN博客 arr[n] { }; [ ] 下标引…...

工业主板在汽车制造中的应用

工业主板在汽车制造中的应用非常广泛&#xff0c;主要得益于其高稳定性、高集成性、以及强大的计算和处理能力。以下是对工业主板在汽车制造中应用的详细分析&#xff1a; 一、应用场景 自动驾驶车辆&#xff1a; 工业主板作为自动驾驶车辆的核心计算平台&#xff0c;负责处…...

博弈论(所有情况最优解)——课堂笔记

博弈论(所有情况最优解)——课堂笔记|【博弈论】分割数游戏-CSDN博客https://blog.csdn.net/back_room/article/details/143464453?spm=1001.2014.3001.5501【博弈论】拍卖土地-CSDN博客...

深入提升Python编程能力的全方位指南

Python作为一种强大且灵活的编程语言&#xff0c;广泛应用于数据科学、机器学习、网络开发、自动化等领域。提升Python编程技术需要结合多方面的知识和技能。本文将详细介绍通过掌握核心技术、项目实践和代码示例来系统提升Python编程技能的方法。 一、掌握基础和高级Python特…...

如何使用 Python 语言的正则表达式进行网页数据的爬取?

以下是使用 Python 语言的正则表达式进行网页数据爬取的一般步骤&#xff1a; 一、安装必要的库&#xff1a; requests&#xff1a;用于发送 HTTP 请求获取网页内容。可以使用 pip install requests 命令进行安装。re&#xff1a;Python 的内置正则表达式库&#xff0c;用于对…...

剑指offer第七、八天

1.矩阵中的路径 class Solution {int n, m;int dx[4]{ 1,-1,0,0 };int dy[4]{ 0,0,1,-1 };bool dfs(int i, int j, vector<vector<char> >mat,vector<vector<bool> >vis, int u, const char* str){if (u strlen(str)-1){//刚开始这里我用的是strlen(…...

有哪些常见的方法可以评估中断处理能力?

以下是一些常见的评估中断处理能力的方法: 基准测试(Benchmarking) 定义和原理:基准测试是通过运行一系列标准化的测试程序来衡量系统性能的方法。对于中断处理能力评估,可以使用专门设计的中断基准测试软件。这些软件会模拟各种中断场景,如不同频率、不同优先级的中断请…...

Android GPU纹理数据拷贝

在 Android 开发中读取纹理数据有以下几种方法&#xff1a; glReadPixelsImageReaderPBO&#xff08;Pixel BufferObject&#xff09; HardwareBuffer 1. glReadPixels glReadPixels 是 OpenGL ES 的 API&#xff0c;通常用于从帧缓冲区中读取像素数据&#xff0c;OpenGL ES…...

浏览器端直播推流实现——系统篇

浏览器端用vue3.5.12写,服务器端用php8.2+swoole5.1.4+thinkphp8写,流媒体服务器使用nginx-rtmp模块,拉流App端用uniapp(其他端各自实现吧,这里以App端为例) 操作系统基于opencloudos8,还用到了ffmpeg,该安装就安装,这里不啰嗦安装步骤 以下是vue的代码,比较简陋,各…...

HDFS和HBase跨集群数据迁移 源码

HDFS集群间数据迁移&#xff08;hadoop distcp&#xff09; hadoop distcp \ -pb \ hdfs://XX.14.36.205:8020/user/hive/warehouse/dp_fk_tmp.db/ph_cash_order \ hdfs://XX.18.32.21:8020/user/hive/warehouse/dp_fksx_mart.db/HBase集群间数据&#xff08;hbase ExportSnap…...

opencv实时弯道检测

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…...

计算机网络综合题

IP数据报的划分 CRC差错检测 冗余码的计算 因此&#xff0c;余数是1110&#xff0c;传输的数为11010110111110。在传输过程中最后两位变成o&#xff0c;接收端能够发现&#xff0c;因为11010110111110除以10011余数不为0。 子网划分 暴力求解法 &#xff08;定长子网划分大量…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...