导出微信读书划线,笔记

查看 15|回复 0
作者:MasterofMonster   
https://github.com/onyas/weread-exporter
WeRead Exporter
将微信读书的划线、笔记和书评导出为 Markdown 文件。
之前都是用的 Obsidian 的微信读书插件,但是这个插件obsidian-weread-plugin最近都登录不了,无法同步笔记,所以就把里面的功能迁移到这个 mac 桌面端应用上了,可以无缝衔接使用

功能特性
  • 增量同步 — 仅导出有新划线或笔记的书籍
  • 全量同步 — 重新导出所有书籍
  • 自定义模板 — 基于 Nunjucks 的 Markdown 模板,支持 front matter
  • 灵活的文件命名 — 按书名、作者或书籍 ID 命名
  • 子文件夹分类 — 按分类或书名归档
  • 公众号文章 — 支持导出微信公众号文章
  • 阅读进度 — 可选导出阅读时长、进度和完成日期

    快速开始
    环境要求
  • Node.js 18+
  • npm

    安装依赖
    npm install
    开发运行
    npm run dev
    构建打包
    # 构建当前架构
    npm run dist
    # 构建指定架构
    npm run dist:arm64
    npm run dist:x64
    构建产物(.dmg 和 .zip)位于 release/ 目录下。
    使用方法
    [ol]
  • 启动应用
  • 点击 登录,扫码登录微信读书账号
    [/ol]

    [ol]
  • 点击文件夹区域,选择笔记保存目录
  • 点击 增量同步 导出有变化的书籍,或点击 全量同步 导出全部书籍
    [/ol]

    项目结构
    src/
    ├── main.ts                  # Electron 主进程
    ├── preload.ts               # 预加载脚本( IPC 桥接)
    ├── core/
    │   ├── api.ts               # 微信读书 API 客户端
    │   ├── fileManager.ts       # 文件读写与笔记持久化
    │   ├── models.ts            # TypeScript 类型定义
    │   ├── settings.ts          # 应用设置( electron-store )
    │   ├── syncNotebooks.ts     # 同步调度逻辑
    │   └── templateRenderer.ts  # Nunjucks 模板渲染
    ├── parser/
    │   └── parseResponse.ts     # API 响应解析
    ├── renderer/
    │   ├── index.html           # 主窗口界面
    │   ├── styles.css           # 样式
    │   └── renderer.js          # 渲染进程逻辑
    ├── utils/
    │   ├── cookiesUtil.ts        # Cookie 工具
    │   ├── dateUtil.ts           # 日期格式化
    │   ├── frontmatter.ts        # YAML front matter
    │   └── sanitizeTitle.ts      # 文件名清理
    └── assets/
        └── notebookTemplate.njk  # 默认导出模板
    https://github.com/onyas/weread-exporter
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部