Awaken
一个多端同步阅读软件:
- 支持桌面(Windows、macOS、理论Linux)和移动端(安卓、iOS)。
- 基于WebDAV的书籍管理,支持进度、笔记、书签同步,并且支持从Kindle导入笔记。
- 仅支持EPUB电子书,其他的可以自行转换,例如一键批量下载 Kindle 全部电子书工具 + 移除 DRM 解密插件 + 格式转换教程 (开源免费)。
本项目不接任何需求,但是欢迎任何BUG修复或功能性的PR,当然那种什么代码不符合你的审美改改格式、改改先进的构建工具之类的还是算了,恕我懒得处理。
技术教程见:
Awaken-基于Hybrid方案和WebDAV的全平台开源阅读软件
功能展示见视频:
应用包
详见Change Log。
开发
前置需求:
- NodeJS v16以及以上
- Rust环境
首先Clone
整个仓库,初始化项目:
npm run init
需要用其他包管理工具的注意加上
--force
,赖得处理UIKit的React版本冲突了...
接着运行开发指令:
npm run dev
然后查到本机IP地址,记DEV_URL = ${IP}:8888
,分平台处理:
桌面端
在对应的操作系统上,执行一句命令即可:
npm run dev-desktop
但注意需要在非虚拟机包括WSL环境执行。
安卓端
用最新的Android Studio打开platform/android下的工程,然后修改MainActivity.kt
中的字段:
private val host: String = "http://${DEV_URL}"
接着连上设备调试即可。
iOS端
用XCode打开platform/ios下的工程,然后修改ContentView.swift
中的字段:
let host: String = "http://${DEV_URL}"
接着连上设备调试即可。
测试
测试很简单,如果实在桌面端,需要你一开始选择一个空目录作为本地书籍存储,可以选择test/client目录,接着在主界面的设定中,填入以下配置:
- 地址:http://${IP}:8889/dav/
- 用户名:dtysky
- 密码:114514
确认后即连接到本地调试服务器,接下来你可以在test目录中找到一些测试用书籍,来测试添加、删除、阅读等等功能。本地测试服务器的文件落在了test/server/dav下。
发布
发布首先要执行指令:
npm run build
然后分平台处理:
桌面端
直接执行:
npm run release-desktop
即可,但同样需要在非虚拟机包括WSL环境执行。如果只发布桌面端,也可以直接执行:
npm run release
产物在platforms/desktop/target/release/bundle
中。
安卓端
打开项目工程,在Build
-> Select Build Variants
窗口,设置选择为release
模式,然后Build
-> Generate Signed Build or APK
即可,可能需要重新生成签名文件。
产物在platforms/android/app/release
中。
iOS端
打开项目工程,构建的schema
选择release
即可。
todo
- 移动端,默认选择文本后的弹窗行为。
- 书籍列表分页。
- 书籍列表搜索。
Copyright
Copyright © 2022, 戴天宇, Tianyu Dai (dtysky < [email protected] >). All Rights Reserved.
This project is free software and released under the GNU Lesser General Public License (LGPL).