技巧

Obsidian 改造为电子书阅读器的技术实现

把Obsidian改造成电子书阅读器,技术复盘: 架构:Obsidian 仓库文件 → 格式路由 → Foliate.js / PDF.js → 统一阅读交互 → Markdown 笔记与 AI 上...

精选理由

朋友,我用 Foliate-js 把 Obsidian 改成了电子书阅读器,能读 EPUB、PDF,划线也同步到笔记里,比单独用 PDF.js 强多了。

使用 Foliate.js 渲染 EPUB 等多种格式,通过 PDF.js 解析 PDF,将阅读状态与笔记同步到仓库插件,利用 Obsidian API 处理文件和渲染,图标来自 Lucide 库。

原文 · 向阳乔木

把Obsidian改造成电子书阅读器,技术复盘: 架构:Obsidian 仓库文件 → 格式路由 → Foliate.js / PDF.js → 统一阅读交互 → Markdown 笔记与 AI 上...

把Obsidian改造成电子书阅读器,技术复盘: 架构:Obsidian 仓库文件 → 格式路由 → Foliate.js / PDF.js → 统一阅读交互 → Markdown 笔记与 AI 上下文 1. 最最最核心的组件是 foliate-js: 负责 EPUB、FB2/FBZ、MOBI、AZW/AZW3、CBZ等格式电子书的渲染。 组件还提供分页、滚动、目录、CFI 定位、全文搜索、划线覆盖层和阅读进度。 比epub.js 强太多了!如果你想做一个在线电子书阅读器,用这个能省很多精力。 发现过程也很巧,多问了AI一句:有没有什么成熟的电子书解析框架。 2. PDF解析用的pdfjs,有些PDF是纯图版,不支持抽取时,直接保持原样渲染展示。 中文 PDF 内置 Adobe CMap,解决没有 ToUnicode 的繁体中文、Big5/CNS 字体提取问题。 3. 阅读状态、划线和笔记都走仓库插件状态,不依赖浏览器 IndexedDB。 4. Obsidian API 承担文件读取、视图生命周期、Markdown 渲染、SecretStorage、笔记写入和内链。 5. 图标统一用Lucide库的开源图标。 强烈推荐foliate-js,据说是一个做在线电子阅读的公司开源的项目,有实战经验,开源地址见评论区 💬 2 🔄 0 ❤️ 5 👀 1458 📊 3 ⚡