Inline Review Comments

unlisted

by Longxiang Chen

Add review comments to selected text and store them directly in Markdown.

2 starsUpdated 28d agoMIT
View on GitHub

Inline Review Comments

为 Obsidian Markdown 文稿添加可持久化的文本评论。评论与目标文字一起保存在 .md 文件中,不依赖独立 JSON 数据库。

GitHub release License: MIT

安装

要求 Obsidian 1.7.2 或更高版本。

  1. 下载 Inline-Review-Comments-0.3.1.zip

  2. 在你的 Obsidian 仓库中手动创建插件目录:

    <仓库>/.obsidian/plugins/inline-review-comments/
    
  3. 将 ZIP 中的五个顶层文件 LICENSEREADME.mdmain.jsmanifest.jsonstyles.css 直接放入该目录。

  4. 确认上述五个文件直接位于 inline-review-comments/ 中;不要再套一层 ZIP 名称或 inline-review-comments 子目录。

  5. 打开“设置 → 第三方插件”,关闭安全模式(如尚未关闭),启用 Inline Review Comments

  6. 安装或替换版本后,重新加载插件或重启 Obsidian,使新代码生效。

使用

  1. 在编辑模式中选择一段单行普通正文。
  2. 右键选择“添加文稿评论”,或打开命令面板运行同名命令。
  3. 输入评论,选择一种样式和一种颜色后保存,右侧会打开“文稿评论”面板。
  4. 点击评论中的目标文字可跳转到正文。
  5. 评论支持编辑、解决、重新打开和删除;编辑时也可以修改样式和颜色。删除评论只移除评论标记,不删除目标正文。

也可以点击左侧功能区的评论图标,或运行“打开文稿评论侧边栏”。

可选样式为高亮、下划线和波浪线;可选颜色为六种低饱和语义色:琥珀、陶红、雾蓝、鼠尾草绿、灰紫和石墨灰。评论范围可以被另一条评论包含、部分交叉,或与另一条评论完全相同;每条评论仍可独立编辑和删除。

Markdown 存储格式

%%irc-start:c1%%CTR 提升 15%%%irc-end:c1%%%%irc-comment:c1|open|underline|mist-blue|补充实验周期和样本量%%

锚点由相同 ID 的 irc-startirc-endirc-comment 关联。元数据依次保存状态、样式、颜色和评论内容;颜色使用跨设备稳定的语义名:amberterracottamist-bluesagemuted-purplegraphite

阅读模式和实时预览会隐藏插件标记并呈现所选样式;源码模式保留原始 Markdown。.md 文件仍是评论的唯一事实来源,禁用插件后目标文字和评论内容不会丢失。

从 0.1.0 或 0.2.0 升级

0.3.1 仍能读取和管理 0.1.0 的 CriticMarkup 评论与 0.2.0 的旧格式评论,新评论写入锚点格式。

只有当操作需要锚点时——例如在旧格式目标内部或跨越其范围新增评论,或修改旧评论的样式和颜色——插件才会请求确认,并只转换本次触及的旧评论。取消确认不会修改 Markdown。

如需显式迁移整个当前文稿,可在侧边栏使用旧格式转换按钮,或在命令面板运行“将当前文稿的旧格式评论转换为锚点格式”。该操作会将当前文稿的全部旧格式评论转换为 0.3.1 锚点格式;转换在确认后一次完成,并可立即撤销。

MVP 限制

  • 仅支持非空、单行的普通正文选区。
  • 不支持代码块、Markdown 表格、多行选区、AI 功能或多人协作;也暂不支持回复线程。
  • 在源码模式中会显示锚点评论标记;实时预览和阅读模式会显示目标样式并隐藏评论语法。

卸载

先逐条删除不再需要的评论,再禁用并删除插件文件夹。如果直接卸载,Markdown 中的评论标记会继续保留,不会丢失。

本地开发

npm install
npm run verify

npm run verify 会依次运行单元测试、类型检查、生产构建和构建产物加载检查。

许可证

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.