diff --git a/README.md b/README.md index fa7d70e..90bd245 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,47 @@ ## 截图 +![主界面](main.png) + 启动页 → 选择 ePub 文件 → Kindle 风格阅读界面。 ## 功能 -- 打开 .epub 文件(原生文件对话框) -- Kindle 风格阅读界面(顶部工具栏 + 中央正文 + 底部进度条) -- 点击左右区域翻页(左 30% 上一页、右 30% 下一页) -- 键盘 ← → 翻页 -- 目录侧栏(可展开/收起) -- 字体大小调节(A⁺ / A⁻) -- 日间/夜间模式切换 -- 底部进度条可拖动跳转 -- 自动保存阅读位置 -- 最近文件列表 -- 设置持久化(settings.json) +- 📂 打开 .epub 文件(原生文件对话框) +- 📖 Kindle 风格阅读界面(顶部工具栏 + 中央正文 + 底部进度条) +- 🖱️ 点击左右区域翻页(左 30% 上一页、右 30% 下一页) +- ⌨️ 键盘 ← → 翻页 +- 📋 目录侧栏(可展开/收起) +- 🔖 书签功能 +- 🔍 字体大小调节(A⁺ / A⁻) +- 🌓 日间/夜间/棕褐色模式切换 +- 🎨 多种背景纹理(牛皮纸/稿纸/作文纸/自定义图片) +- 📏 响应式分页引擎(基于 egui Galley 精确测量) +- 🔗 内容锚点定位(字体/窗口大小变化后自动恢复阅读位置) +- 📊 底部进度条可拖动跳转 +- 💾 自动保存阅读位置 +- 📅 最近文件列表 +- ⚙️ 设置持久化(settings.json) + +## 项目结构 + +``` +epub-read/ +├── src/ +│ ├── main.rs # 程序入口 + 字体初始化 +│ ├── app.rs # App 状态管理 + 事件循环 +│ ├── book.rs # ePub 解析 + 章节数据结构 +│ ├── reader.rs # 响应式分页引擎 + 阅读视图渲染 +│ ├── theme.rs # 主题/配色/设置/书签/阅读位置 +│ ├── style.rs # 排版样式配置(对齐/行高/缩进) +│ ├── texture.rs # 背景纹理生成 +│ ├── font.rs # 中文字体设置 +│ └── persistence.rs # 配置文件读写 +├── fonts/ +│ └── NotoSansSC-Regular.ttf # 内嵌中文字体 +├── Cargo.toml +└── .cargo/config.toml # 静态链接配置 +``` ## 系统要求 @@ -60,7 +86,7 @@ cargo build --release ## 开发 ```bash -cargo test # 运行测试(24 个) +cargo test # 运行测试(32 个) cargo check # 编译检查 cargo run # 调试运行 ``` diff --git a/main.png b/main.png new file mode 100644 index 0000000..3715ec5 Binary files /dev/null and b/main.png differ