Skip to content

Files

Latest commit

4ba7da7 · Sep 28, 2022

History

History

siyuan-comment

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 28, 2022
Mar 16, 2022
Mar 16, 2022
Mar 16, 2022
Mar 16, 2022

前言

行内评论一直是我很期盼的功能,对于一段笔记而言,借助评论可以不断的反刍或沉淀自己的想法,或者和其他的内容块进行关联。

去年基于块属性实现了类似 Notion 那样的评论功能,但这种方案有几个问题:

  1. 评论内容是存储在块属性上的,不便于编辑、维护。另外,从技术实现上来看,评论内容存储在 dom 属性上,对于较长文本的存储是否影响渲染效率这个有待研究(我是前端小白)。

  2. 更要命的是导出文档时评论内容无法同步导出。

最近发现思源笔记挂件 API开放了很多接口,尤其是对于内容块的相关操作。评论本质上也可以是一个内容块呀,那是不是可以把它当做 block 来存储,基于这个思路于是有了现在这个方案:

  1. 仍旧是通过<strong>标签来标识引文内容,因为其他标签不支持自定义属性
  2. 通过 strong 标签里的 style 属性来存储引文 id
  3. 新增的评论内容通过 appendBlock 等接口插入文章末尾,通过 custom-quote-id 属性与引文关联

这样评论内容实质上作为普通的内容块存在于文档中,在导出时也不会丢失信息。

使用方法

theme.js文件和 comment文件夹复制到常用的主题文件夹目录,并将思源软件设置为该主题。

这样在选中文本时,浮出工具栏会多出一个评论按钮(最后一个),点击即可添加评论。

如果您觉得这项功能能带来实际帮助,订阅思源时欢迎使用我的邀请码 4EY48YJ

待完善功能

  • 错误和异常的处理
  • 段落内所有评论列表的查看

界面预览

preview