# Ocard **Ocard** is an Obsidian plugin that turns any text selection into a beautiful card (Claude-style), stores it in a `cards` folder, and helps you remember it with active recall and spaced repetition (2 → 4 → 7 → 12 days). **Ocard** 是一个 Obsidian 插件:**选中文字,一键制卡**。把笔记里的任意片段做成卡片,存进 `cards` 文件夹,用精美的卡片视图翻阅,并通过主动回忆 + 间隔复习对抗遗忘。 ## 功能 - ✅ 在笔记里选中一段文字 → 右键 →「制作为卡片」 - ✅ 弹出输入框为卡片命名(预填选中文字作为建议,可修改) - ✅ 卡片以 `.md` 形式存入 vault 根目录的 `cards` 文件夹(自动创建),frontmatter 记录标题、创建时间、来源笔记和复习进度 - ✅ 点击左侧 ribbon 图标或命令「打开卡片浏览」,在新标签页打开卡片视图 - ✅ 卡片视图:一屏一张精美卡片(Claude 风格),支持 markdown 渲染,底部按钮: - **下一张 →**:循环翻页,带过渡动画 - **打开原文**:跳转到来源笔记 - **复习**:进入复习模式(有到期卡片时显示数量并高亮) - ✅ 复习模式(主动回忆): 1. 只显示卡片标题,正文隐藏 2. 凭记忆把内容写出来(Ctrl+Enter 提交) 3. 「对比答案」左右并排对比:你的回忆 vs 卡片原文 4. 自判「记对了 ✓」或「记错了 ✗」 - ✅ 间隔复习调度:记对按 **2 天 → 4 天 → 7 天 → 12 天** 间隔安排下次复习,全部通过后「毕业」;记错阶段归零、立即重新排入队列。复习进度存在卡片 frontmatter 的 `reviewStage` / `nextReview` 字段 - ✅ 卡片上有复习状态徽标(新卡片 / 已通过 N 次 · X天后复习 / 待复习 / 已毕业) - ✅ 自动适配明暗主题 ## 安装 ### 方式一:手动复制 1. 运行 `npm run build`,得到 `main.js`、`manifest.json`、`styles.css` 2. 把这三个文件复制到你的 vault:`<你的vault>/.obsidian/plugins/ocard/` 3. 在 Obsidian 设置 → 第三方插件中启用 **Ocard**(需先关闭安全模式/开启第三方插件) ### 方式二:自动部署 设置环境变量 `OBSIDIAN_VAULT_PATH` 指向你的 vault 根目录,构建后会自动复制到插件目录: ```bash OBSIDIAN_VAULT_PATH="D:/MyVault" npm run build ``` ## 使用 1. 打开任意笔记,选中一段文字 2. 右键 →「制作为卡片」(或用命令面板执行「制作为卡片」,可自行绑定快捷键) 3. 输入卡片名称,回车确认 → 卡片已存入 `cards/` 4. 点击左侧栏的 Ocard 图标(或命令「打开卡片浏览」)翻阅卡片 5. 「下一张 →」换下一张;「打开原文」回到来源笔记 6. 「复习」开始主动回忆:写回忆 → 对比答案 → 自判对错,插件按间隔自动安排下次复习 ## 开发 ```bash npm install # 安装依赖 npm run dev # 监听构建(开发模式,inline sourcemap) npm run build # 类型检查 + 生产构建 ```