浏览器扩展项目介绍
Readmd 沉浸式阅读 & 批注器
Readmd 是一款集沉浸式阅读与全文批注于一体的浏览器扩展。自动提取正文、一键批注标注、导出 HTML/PDF,让阅读网页像读书一样专注。
🎬 演示视频
快速了解 Readmd 的核心功能与使用流程:
1. 功能概览
📖 沉浸式阅读
- 正文提取:基于 Mozilla Readability 算法,自动识别并过滤导航、侧栏、广告。
- 全屏阅读层:高 z-index 独立容器,与原网页 CSS 完全隔离,无样式冲突。
- 单页 / 双页布局:经典纵向滚动 + 仿书页双栏布局,切换时保持阅读进度。
- 10 种主题 + 无极字号:6 种浅色主题 + 4 种深色主题,字号 14–24px 连续可调。
- 代码块优化:统一缩进、可滚动容器、与正文清晰视觉分离。
- 阅读进度记忆:按 URL 自动保存和恢复阅读位置,支持单/双页布局。
✏️ 全文批注标注
- DOM 文本高亮:选中文字即可添加荧光笔高亮,8 种颜色可选,支持换色和删除。
- 画笔涂鸦:自由绘制,3 档笔触(S/M/L)、8 种预设色 + 系统取色器、透明度可调。
- 橡皮擦:精准擦除笔画,不破坏底层内容。
- 文字批注:点击任意位置添加可编辑文本框,支持编辑和删除。
- 画布模式:高分辨率(2x)内容快照 + 独立批注层,保证批注精准。
- 拖拽平移:一键切换绘图/平移模式,方便浏览大型页面。
📄 导出 & 编辑
- 导出 HTML:生成包含原文 + 批注 + 高亮的独立 HTML 文件,可直接在浏览器中查看。
- 导出 PDF:多页 A4 PDF,批注合并渲染到正文上,自动分页。
- 撤销 / 重做:50 步历史栈,覆盖画笔、文字批注和高光标注。
- 全部清除:一键重置所有批注。
- 完整键盘快捷键:覆盖工具切换、撤销重做、导出等全部操作。
2. 安装与启动
手动安装(开发者模式)
- 克隆仓库并安装依赖:
git clone <repo-url> && cd readmd && npm install
- 构建扩展:
npm run build(Firefox 使用 npm run build:firefox)
- 打开浏览器扩展管理页:chrome://extensions/ 或 edge://extensions/。
- 开启"开发者模式"。
- 点击"加载已解压的扩展程序",选择
.output/chrome-mv3 目录。
- 打开任意文章页,点击扩展图标,进入 Readmd 控制面板。
商店安装
Chrome Web Store / Edge Add-ons / Firefox Add-ons 上架筹备中,敬请期待。
提示:浏览器内置页面(如 chrome://)无法注入扩展脚本。
3. 基本使用流程
阅读模式
Step 1 — 进入阅读模式
点击弹窗中的"阅读模式"开关,页面进入沉浸式阅读层,自动提取正文内容。
Step 2 — 调整阅读参数
在弹窗中切换主题(10 种)、布局(单页/双页)和字号,修改后即时生效。
Step 3 — 退出阅读模式
关闭阅读模式开关,返回原页面,阅读进度自动保存并恢复。
批注模式
Step 1 — 进入批注模式
在阅读模式下,点击弹窗中的"批注模式"开关,底部出现批注工具栏。
Step 2 — 选择工具开始标注
选择画笔/橡皮擦/文字批注/荧光笔工具,调整颜色、大小、透明度后开始标注。
Step 3 — 导出批注内容
点击工具栏或弹窗中的导出按钮,将批注后的内容保存为 HTML 或 PDF 文件。
控制面板设置项说明
| 设置项 | 作用 |
| 阅读模式 | 开启/关闭沉浸式阅读层。 |
| 批注模式 | 开启/关闭批注工具栏(画笔、橡皮擦、文字、荧光笔)。 |
| 导出 HTML | 将原文 + 批注保存为独立 HTML 文件。 |
| 导出 PDF | 将原文 + 批注保存为 A4 多页 PDF 文件。 |
| 主题 Theme | 切换阅读背景与文本配色(10 种可选)。 |
| 布局 Layout | Single Page(单页)/ Double Page(双页)。 |
| 字号 Font Size | 调整正文文字大小(14px–24px)。 |
4. 键盘快捷键
| 快捷键 | 功能 |
| A | 画笔工具 |
| E | 橡皮擦工具 |
| T | 文字批注工具 |
| H | 荧光笔工具 |
| D | 绘图 / 平移切换 |
| Esc | 退出批注模式 |
| Ctrl+Z / ⌘Z | 撤销 |
| Ctrl+Y / ⌘Y | 重做 |
| Ctrl+S / ⌘S | 导出 HTML |
| Ctrl+Shift+S / ⌘Shift+S | 导出 PDF |
5. 兼容与限制
- 支持普通网页(http/https),基于 Manifest V3 标准。
- 不支持浏览器内部页面(如 chrome://、edge://、about:)。
- 页面结构差异较大时,正文提取结果可能不同,可切换回原页面对照。
- 双页布局中极长代码行会优先换行,以保持版面稳定性。
- 批注数据存储在内存中,刷新页面后批注会丢失(导出功能可保存批注结果)。
6. 规划路线图
以下能力已进入项目规划(未在当前版本启用):
- 图片导出:支持导出为 PNG、JPEG 格式。
- Markdown 导出:将正文导出为 Markdown 格式。
- 批注持久化:批注数据浏览器本地持久存储,刷新不丢失。
- 批注图层开关:一键显示/隐藏所有批注。
- 目录自动生成:根据文章标题层级自动生成阅读目录。
- 阅读时长估算:根据文章字数估算阅读时间。
说明:路线图来自项目规划文档,具体发布时间以迭代计划为准。
7. 常见问题
点击按钮没有反应怎么办?
请确认当前页面不是浏览器内部页面(chrome://、edge://、about:),并刷新后重试。
设置会丢失吗?
主题、布局、字号和画笔偏好保存在浏览器同步存储中,登录浏览器账号后可跨设备同步;阅读进度按页面保存在本地存储中。
为什么有些页面提取效果一般?
不同网站 DOM 结构差异较大,提取策略会优先保留正文可读性。可切换回原页面或尝试其它页面验证效果。
批注可以保存吗?
当前批注数据存储在内存中,刷新页面后会丢失。但你可以通过"导出 HTML"或"导出 PDF"功能将批注内容保存为文件。批注持久化存储已在路线图中规划。
我的数据会被上传吗?
不会。所有内容提取、批注处理和导出均在浏览器本地完成,无任何数据上传到远程服务器。扩展无需注册账号。
8. 隐私说明
- 无需注册账号,无需登录。
- 所有内容提取、批注处理和导出均在浏览器本地完成。
- 不上传任何阅读内容到远程服务器。
- 仅使用浏览器存储 API 保存用户偏好和阅读进度。
- 仅在用户主动操作时对当前页面进行处理,无后台行为。