# obsidian-bookmark-plus **Repository Path**: wn2019/obsidian-bookmark-plus ## Basic Information - **Project Name**: obsidian-bookmark-plus - **Description**: obsdian书签,适配IPAD - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-04 - **Last Updated**: 2026-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: Obsdian ## README # Obsidian Bookmark Plus [English](README_EN.md) | **简体中文** 一款基于「选中文本」的 Obsidian 书签插件:在阅读模式或编辑模式选中任意文字,即可一键标记为书签;通过侧边栏书签列表快速跳转回对应内容。适配 Windows / iPad / iPhone(桌面鼠标选中、移动端长按选中均可触发)。 ## ✨ 功能特性 ### 选中文本添加书签 - **全模式支持**:阅读模式(preview)与编辑 / 实时预览模式(source)都可以选中文本加书签。 - **浮动添加按钮**:选中文本后浮现书签图标,点击即添加;出现位置(上 / 下 / 左 / 右)与偏移量可配置。 - 按钮严格限制在当前笔记内容区的可见范围内,滚动页面使选区滚出编辑器时按钮会自动隐藏,滚回来自动重现,**不会覆盖选项卡、标题栏、侧边栏等其他界面区域**。 - **最短选中长度**:可设置选中文本至少多少字符才出现浮动按钮,避免误触。 - **命令兜底**:提供「将当前选中文本标记为书签」命令,可绑定快捷键,即使关闭浮动按钮也能加书签。 - **移动端优化**:针对 iOS WKWebView 做了选区快照处理,长按选中后点击按钮不会因系统清空选区而失效。 ### 精准跳转定位 - **块引用 ID 优先**:添加书签时自动在对应块(段落 / 列表项 / 引用块)末尾写入 Obsidian 原生 `^block-id` 语法,跳转时通过块引用精确滚动,笔记编辑后位置依然稳定。 - **多重回退策略**: - 块 ID 缺失或失效时,跳转前会尝试自动重新写入块 ID 并修复书签; - 仍失败则回退为文字搜索定位(自动剥离 Markdown 行内格式后匹配,支持上下文前缀探测)。 - **跳转高亮**:跳转到位后闪烁高亮目标内容,持续时长可配置(源码模式短暂选中该行,阅读模式高亮块元素)。 ### 侧边栏书签列表 - **显示位置可调**:左侧栏 / 右侧栏 / 两侧同时显示,切换后立即生效。 - **按笔记分组**:列表按笔记分组展示,每组显示书签数量。 - **搜索**:支持按选中文字、笔记名、上下文、标签、备注模糊搜索。 - **排序**:按创建时间 / 更新时间 / 笔记名排序,支持升降序一键切换。 - **一键清理**:刷新按钮可清理笔记已被删除的失效书签;启动时也会静默清理一次失效书签与失效块 ID。 ### 书签管理 - **编辑书签**:修改备注、标签(英文逗号分隔多个)。 - **复制块 ID**:点击书签上的 `^block-id` 标记即可复制,可配合 Obsidian 原生块引用使用。 - **删除书签**:列表项悬浮显示删除按钮,删除时自动清理源文件中对应的 `^block-id` 标记。 ### 数据存储 - 书签数据保存在插件 `data.json` 中,位于 vault 内,可随 Obsidian Sync / iCloud 等同步方案跨设备同步。 ## 📦 安装 手动安装:将 `main.js`、`manifest.json`、`styles.css` 复制到仓库的 `<你的仓库>/.obsidian/plugins/obsidian-bookmark-plus/` 目录,然后在设置 → 第三方插件中启用即可。 ## 🚀 使用方法 1. 在笔记中**选中文字** → 点击浮现的书签图标(或执行命令「将当前选中文本标记为书签」)。 2. 点击左侧 Ribbon 的书签图标(或执行命令「打开书签列表」)打开侧边栏书签列表。 3. **点击列表项**即可跳转回原文位置并高亮;悬浮列表项可编辑或删除。 ## ⚙️ 设置项 | 设置 | 说明 | | --- | --- | | 书签出现位置 | 左侧栏 / 右侧栏 / 两边都显示 | | 选中文本后显示浮动添加按钮 | 开关浮动书签图标 | | 浮动按钮位置 | 上方 / 下方 / 左侧 / 右侧 | | 浮动按钮偏移量 | 按钮与选中文本的间距(0–64px) | | 最短选中字符数 | 触发浮动按钮所需的最少选中字符(1–50) | | 跳转后高亮时长 | 跳转后高亮闪烁持续时间(0–5000ms) | ## 🛠️ 开发 ```bash npm install # 安装依赖 npm run dev # 开发模式(watch 构建) npm run build # 类型检查 + 生产构建 ``` ## 📝 更新日志 - **2026-10-27**:修复滚动页面时,浮动书签图标会覆盖选项卡 / 标题栏等编辑器外部 UI 区域的问题(按钮现在严格限制在笔记内容区内,选区滚出可见范围自动隐藏);整理 README。