• Stars
    star
    659
  • Rank 68,396 (Top 2 %)
  • Language
    TypeScript
  • License
    GNU Lesser Genera...
  • Created about 2 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

FPGA-Imaging-Library

An open source library for image processing on FPGA.
Verilog
556
star
2

xr-frame-demo

Demos for xr-frame system in wx-mini-program.
JavaScript
269
star
3

webgpu-renderer

A simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.
TypeScript
197
star
4

BlogReworkPro

Rework the BlogRework, a SEO friendly SPA, build with flask, react, redux, mongodb...
Python
88
star
5

gl-matrix-wasm

Port gl-matrix to WebAssembly by rust, wasm-bindgen and wasm-pack.
Rust
79
star
6

paradise

Amazing front-end effects on web.
TypeScript
62
star
7

MoeNotes

A simple note application.
TypeScript
59
star
8

wasm-usage-guide

Guides for generating and using wasm with different language(TypeScript, c++ and rust).
JavaScript
51
star
9

Gal2Renpy

Gal2Renpy是一个游戏剧本解析器,用于将游戏剧本(DSL)转换为游戏引擎ren'py的脚本,目的是将剧本文件和脚本代码完全分离,让剧本写手能够安于剧本创作。
Python
49
star
10

UploadChecker

Check and constrain type/size/resolution while uploading files in pure front-end way.
TypeScript
30
star
11

xr-frame-toolkit

Toolkit for wx-miniprogram xr-frame.
TypeScript
23
star
12

egret-galgame

An extension for egret engine.
TypeScript
21
star
13

Algorithm

Algorithm and data structures exercises.
C++
20
star
14

ShowYourHeart

Show your heart to her/him on web...
JavaScript
13
star
15

SIMPLE_MIPS_CPU

A simple MIPS CPU, for fun.
Verilog
10
star
16

BlogRework

BlogReworkPro is here: https://github.com/dtysky/BlogReworkPro
JavaScript
8
star
17

muddy-driver

A mad game for GIGA Gamejam 2018.
TypeScript
8
star
18

DeviceOrientationManager

A manager which will help you to control DeviceOrientation easily.
TypeScript
6
star
19

LD3320_FPGA_CONTROLLER

FPGA的LD3320控制器(A controller for LD3320 by FPGA)
VHDL
4
star
20

3D_Displayer_Controller

A controller for a 3d system, using FPGA(VHDL), CY68013(C#, C), Bluetooth(C#, VHDL) .
VHDL
4
star
21

DDR2_CONTROLLER

An controller for DDR2 on FPGA with vhdl, content testbeach and model.
Verilog
3
star
22

Led_Array

Contenting a led array(120*114,15.2pixel/cm^2) pcb board(2-layers) and its controller pcb board(4-layers), a patch(ing) board for one core board, and a program for testing.
VHDL
3
star
23

WhenMonIsntHome

When mom isn't home.
TypeScript
3
star
24

EternalFlame

Eternal flame.
TypeScript
3
star
25

Graduation_Project

My graduation project.
JavaScript
2
star
26

ResourceManager

A class for better loading and managing resources.
JavaScript
2
star
27

LD3320_AXI

An controller for LD3320 on xilinx FPGA with AXI-BUS.
VHDL
2
star
28

3D_Displayer_Machine

Machine.
2
star
29

LearningWebGL

Learning WebGL.
JavaScript
2
star
30

Stars

A 3D game, for fun.
C#
1
star
31

ImageHemorrhage

Image hemorrhage operation.
Python
1
star
32

TearsOfTimes-MinecraftRemake

Nothing here... Let it go......
Logos
1
star
33

custom-gltf-extension-demo

A demo showing how to write a custom GlTF extension for Sein.js and SeinJSUnityToolkit.
C#
1
star
34

CSAPP

CSAPP
C
1
star
35

xr-frame-glass-demo

XR-FRAME demos for xr-system and xr devices.
TypeScript
1
star