Skip to content

dtysky/Awaken

Repository files navigation

Awaken

一个多端同步阅读软件:

  1. 支持桌面(Windows、macOS、理论Linux)和移动端(安卓、iOS)。
  2. 基于WebDAV的书籍管理,支持进度、笔记、书签同步,并且支持从Kindle导入笔记。
  3. 仅支持EPUB电子书,其他的可以自行转换,例如一键批量下载 Kindle 全部电子书工具 + 移除 DRM 解密插件 + 格式转换教程 (开源免费)

本项目不接任何需求,但是欢迎任何BUG修复或功能性的PR,当然那种什么代码不符合你的审美改改格式、改改先进的构建工具之类的还是算了,恕我懒得处理

技术教程见:

Awaken-基于Hybrid方案和WebDAV的全平台开源阅读软件

功能展示见视频:

应用包

详见Change Log

开发

前置需求:

  1. NodeJS v16以及以上
  2. 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目录,接着在主界面的设定中,填入以下配置:

  1. 地址:http://${IP}:8889/dav/
  2. 用户名:dtysky
  3. 密码: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

  1. 移动端,默认选择文本后的弹窗行为。
  2. 书籍列表分页。
  3. 书籍列表搜索。

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).

About

一个基于WebDAV的全平台EPUB阅读器,支持笔记、进度、书签同步,支持Kindle笔记导入。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published