今天在浏览 GitHub 的时候,偶然发现了一个非常有趣的开源项目——Koodo Reader。这个项目是一款开源免费的电子书阅读器,支持多种格式。它具有一些非常独特的功能,深深地吸引了我的注意。在接下来的内容中,我将为大家详细介绍一下这个备受关注的阅读器项目。
Koodo Reader 介绍
Koodo Reader,一个跨平台的电子书阅读器,目前在github上已有14.1k star,是一个web项目。
网页版地址: https://reader.960960.xyz/
github地址:https://github.com/koodo-reader/koodo-reader
文档地址:https://koodo.960960.xyz/zh/document
客户端下载地址:https://koodo.960960.xyz/zh
特色
-
支持阅读格式:
-
EPUB (.epub)
-
扫描文档 (.pdf, .djvu)
-
Kindle (.azw3, .mobi, .azw)
-
纯文本 (.txt)
-
漫画 (.cbr, .cbz, .cbt, .cb7)
-
富文本 (.md, .docx)
-
FB2 (.fb2)
-
超文本 (.html, .xml, .xhtml, .mhtml, .htm, .htm)
-
-
支持 Windows,macOS,Linux 和 网页版
-
备份数据到 OneDrive, Google Drive, Dropbox, FTP, SFTP, WebDAV, S3, S3 compatible
-
自定义源文件夹,利用 OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步
-
双页模式,单页模式,滚动模式
-
听书功能,翻译功能,词典功能,触控屏支持,批量导入图书
-
支持目录,书签,笔记,高亮,书架,标签
-
自定义字体,字体大小,行间距,段落间距,阅读背景色,文字颜色,屏幕亮度,文字下划线、斜体、文字阴影、字体粗细
-
黑夜模式和主题色设置
Koodo Reader 私有化部署
尽管作者已经为我们提供了Windows客户端和网页版,但作为热衷于Docker的爱好者,我们自然希望进行私有化部署。接下来,让我们详细介绍一下如何进行私有化部署的步骤。
有兴趣的家人们可以下载源码之后在项目的根路径运行 yarn
命令,接着运行 yarn build
的命令,之后根路径下会出现一个buid目录,我们将build目录下的文件复制到nginx的html目录下即可使用。不想下载项目的家人们也可以直接使用我打好的镜像registry.cn-hangzhou.aliyuncs.com/xj_lew/koodo-reader:1.0
进行docker 部署,步揍如下:
创建docker-compose.yml文件:
version: '3.3'
services:
koodo:
image: registry.cn-hangzhou.aliyuncs.com/xj_lew/koodo-reader:1.0
container_name: koodo-ng
restart: always
logging:
driver: 'json-file'
options:
max-size: '5g'
environment:
- NGINX_PORT=80
ports:
- 8099:80
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
创建nginx的配置文件nginx.conf文件
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
client_max_body_size 500m;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
# 外网访问的域名
server_name 192.168.10.106;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
}
}
启动容器:
docker-compose up -d
如果不出意外的话我们的容器就启动成功了
Koodo Reader使用
在浏览器上输入访问地址
- 导入图书,可批量导入
- 添加读书笔记
我特别喜欢这个功能,特别是在处理大量阅读内容的文件时。我们可以轻松添加读书笔记,而且还能直接通过我的笔记-》显示笔记出处快速跳转到电子书或PDF对应的位置。
别的功能我们此处就不做演示了。
Koodo Reader 缺点
- 本地存储\浏览器存储,多端不同步
Koodo Reader客户端版本是基于本地存储的,要多端同步的话需要借助网盘的同步空间功能,而网页版的数据作为缓存临时保存在了浏览器中,清理缓存会导致数据丢失。
- 对于md、html的阅读体验感不好
虽然它支持阅读md和html等文件,但是页面查看的效果不是很好。
总结
Koodo Reader不仅仅是一款数字阅读应用,更是一场阅读的冒险。它为用户提供了丰富的功能,使阅读变得更加个性化、便捷和有趣。尽管目前仍存在一些不完善之处,但它正在持续不断地进行更新,我们期待未来它能够更加完善。不论您是文学、学术、漫画还是其他领域的热爱者,Koodo Reader都将成为您数字阅读之旅的得力助手。