Keep Incremental 渐进式学习插件

本插件的目标是在思源中践行类似于supermemo的渐进式学习,在闪卡复习界面即可完成复习闪卡+学习摘录卡+摘录的流程

Alt+E摘录任何东西,然后在你不需要这张摘录卡的时候Dismiss它!

为了方便称呼,你可以叫她KI插件

欢迎给本项目star以示支持:https://github.com/suka233/siyuan-keep-incremental-learning-plugin

由于不清楚如果不同的插件都对闪卡按照优先级进行排序会造成什么影响,所以我在KI中暂时去掉了按照优先级排序的功能,推荐搭配 番茄工具箱 插件使用,番茄工具箱自带按照闪卡优先级排序的功能!

注意:这是一款极其个人主义的插件,某些设计可能不符合你的使用习惯,请酌情使用,侵入性的设计见最后

核心功能

  • 左下角的dock栏为虚拟闪卡树,用于将闪卡以树结构展示出来
  • 在复习闪卡的时候,左下角的dock栏的虚拟闪卡树会自动定位展开到当前复习的闪卡
  • 在闪卡复习界面的上方,会展示Dismiss,推迟,定位和快速设置优先级的功能按钮
    • dismiss类似于supermemo的设计,也相当于anki中的暂停功能。当你不需要这张摘录卡了,dismiss它!任何摘录卡的最终归宿都是被提炼出闪卡,然后被dismiss
    • 推迟功能相当于anki中的搁置功能,区别是搁置默认只会搁置到明天,而推迟可以自定义推迟的天数
  • 选中要摘录的文本或者多行,使用快捷键 Alt+E ,即可快速摘录该片段,摘录的内容会在该文档下创建子文档,并自动加入到闪卡队列,同时评分3分,并且2天后才会出现!
    • 快捷键助记:EExtract 的缩写
  • 如果当前复习的闪卡为文档块,会自动点击显示答案
    • 因为文档块一般都是摘录卡
  • 自动记录当前闪卡的浏览位置,下次复习时会自动滚动到上次的位置
  • 在文档树的任意文档右键,选择“将子文档按顺序加入渐进式阅读流程”,即可将该文档的最后一篇子文档加入到闪卡队列,当你在闪卡界面dismiss这篇子文档的时候,会自动将该子文档推迟99年,并且将下一篇子文档自动加入到闪卡队列,评分3分,推迟2天后出现

比较有侵入性的设计如下:

  • 当在闪卡复习界面使用本插件摘录的时候,摘录卡会类似于supermemo一样,生成子文档;然后自动加入到闪卡队列,同时评分3分,并且2天后才会出现!
    • 评分3分是为了下一次(也就是2天后)这张摘录卡出现的时候,底下的评分选项的间隔时间会变为5m,10m,2d,3d(见下列表格第二行),而非新卡的1m,5m,10m,6d(下列表格的第一行)
    • 1
      重来
      2
      困难
      3
      良好
      4
      简单
      1m 5m 10m 6d
      5m 10m 2d 3d
      5m 4d 7d 15d
    • 注意,你的间隔时间可能和我的不一样,你或许想要设置新摘录卡为不进行自动评分,然后xx天后再次出现这张卡,所以我说这是一个极其个人主义的插件
  • 优先级被我手动划分了几个等级,你可以在闪卡复习界面看到。并且根据优先级的不同,自动推迟的天数也不同,这个也是我个人的设定,不过按优先级自动推迟指定天数的功能目前并未实装。
    • 数字or区间 解释 自动延期天数
      1 最低 5
      (1,10]
      4
      (10,30] 较低 3
      (30,50] 2
      (50,70] 较高 2
      (70,90] 1
      (90,100) 极高 1
      100 紧急 1
    • 划分为几个区间的意义在于,我会把渐进式学习和生活绑定,比如说,当 学习/复习 到了优先级区间为 中等 的卡片的时候,而生活中又有优先级为 较高 的事情的时候,我就会停止学习,去处理优先级更高的事情
  • 如果当前复习的闪卡为文档块,会自动点击显示答案,因为我的文档块一般都是摘录卡,所以自动显示答案是为了方便我设定下次复习的时间
  • 为了更好的使用此插件,我关闭了思源的7层子文档的限制,(路径:思源左上角,设置,文档树,允许创建深度大于7层的子文档)因为现代操作系统基本无需担心路径过长的问题了。我用的win11系统

TODO(挖坑)

得益于思源灵活的数据结构,以下设计是可以实现的:

  • 虚拟卡包,类似于anki的语法: 父卡包::子卡包::孙卡包::...
  • 闪卡树右键即可批量调整优先级,取消dismiss状态,删除闪卡等等
  • 闪卡的标记和旗标功能
  • 摘录的时候自动推迟的天数可以按照优先级来设置,自动评分与否亦可自定义
  • 手机端闪卡复习界面支持

致谢

感谢弘哥的闪卡增强插件,如果您对本插件的摘录功能满意,不要犹豫,给弘哥捐赠,这部分代码我copy的他的逻辑以快速开发;

感谢番茄工具箱插件的优先级功能。

感谢FSRS算法的开发者叶佬的关于推迟功能的答疑

碎碎念

前几天knote群里发生了如下对话:

img.png

想说的是,任何的项目都有生命中止的那一天,体量如微信QQ也不例外,只是由于充沛的人力和资源,让它们的生命周期基本可以无限的延长

就目前而言,KI插件基本满足了我的使用,首版免费使用。之后的个性化设置的更新,应该会开启本地功能买断制的付费模式,以此延长KI插件的生命周期。

就这样,大家学习愉快。