关于利用思源实现渐进阅读的设想

本贴最后更新于 492 天前,其中的信息可能已经天翻地覆

思源 2.7.6 预览版已经可以做到按文档树对卡片分类了,在此基础上进一步改进的话,完全可以做到渐进阅读(增量阅读),从而取代 supermemo(以下简称 SM)。在阅读后面的内容之前,还请读者先看一下 SM 实现渐进阅读的演示视频:

https://www.bilibili.com/video/BV1L741197iu/?p=6

https://www.zhihu.com/zvideo/1345302166383382528

我先根据视频简单总结一下 SM 渐进阅读的流程。

  1. 导入文章(这个没什么好说的)
  2. 对文章进行格式调整、改写、精简、加粗、高亮等
  3. 选中文章中你认为有价值的部分,通过快捷键(Alt+X)将选中的部分用特定颜色高亮,并生成一张摘抄卡片,将这张卡片作为当前文档的子文档(注意,不一定挖空的才叫卡片)
  4. 对上一步做好的卡片进行加工,包括批注、改写、精简、加粗、高亮等
  5. 第二天对前一天做好的卡片通过间隔重复算法进行回顾
  6. 进一步对卡片进行加工
  7. 重复上述第 3 步的操作,生成更细的摘抄卡片,作为父卡片的子文档
  8. 几天后,可对摘抄卡片进行挖空了(挖空快捷键 Alt+Z),生成的挖空卡片将作为父卡片的子文档
  9. 继续通过排期算法复习,直到完全掌握这篇文章

那思源应怎样改进才能实现渐进阅读呢?
我认为就仿照上述流程来进行就行了,需要做到以下改进:

  1. 当文档标题缺省时,在文档树中,将文档的标题显示为文档最前面的文字内容,而不是 Untitled
  2. 可以将文档的顶级标题(即整篇文档)制作为卡片,目前只能将一级、二级标题制作为卡片
  3. 选中文档中的部分内容块后,可通过快捷键或右键菜单将选中部分用特定颜色高亮,并提取出来作为当前文档的子文档,并将这篇子文档的顶级标题制作为卡片。(在生成子文档的时候需注意,新生成的子文档应位于文档树末尾而不是最前面)

完成上述改进后,就可以利用思源进行渐进阅读了。欢迎讨论。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20156 引用 • 77726 回帖
3 操作
openAI 在 2023-03-18 11:55:20 更新了该帖
openAI 在 2023-03-12 17:36:44 更新了该帖
openAI 在 2023-03-12 11:21:41 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 有道理

  • 其他回帖
  • 不过我想了下,不仅仅是文档树位置,排期顺序位置也应该和原文的顺序一致,并且父文档要排在子文档前面,因为渐进阅读的顺序就是由粗到细,由前向后。

    1 回复
  • 最好还是分开,对一小部分摘录卡有个操作是 手动设定下次出现的间隔(Ctrl+J),而且,只提供 good 和 easy 我觉得不能替代 Done(Ctrl+Shift+Enter DismissCtrl+D

  • 正好分享下在思源里的制卡和对渐进阅读功能的补充。

    根据渐进阅读的最小定义 - 知乎 (zhihu.com),思源目前缺三个功能就达到定义中“基本选项”的要求了。

    在 SM 里进行 ALT+X 的摘录、改写操作不一定要在文档树上进行,我之前也纠结了很久,因为思源有一个“选中文字新建文档块内容为”的功能(默认快捷键 F4),它的生成位置默认是当前文档块的子级(没有被全局设置覆盖的话),也会以文字内容命名,和在 SM 里进行摘录的操作很像。但是在 SM 里进行摘录生成 topic 的作用是这样的:

    1. 聚焦摘抄材料

    2. 继承复习间隔,加入复习队列

    3. 继承引用来源

    4. 继承优先级属性

    5. 提供回到原文的入口,能从摘录的 topic 跳到原文

      • 通过返回父级回到原文
      • 通过引用来源返回原文
    6. 在改写后进行挖空生成 item

    继承复习间隔还好说,有些用户是不想要这个功能,是用手动安排摘录 topic 时间的,在思源里不能直接安排进复习队列和继承优先级属性也就是麻烦了点,但有个痛点是目前依靠文档树制卡做不了的:在复习界面里没法通过子文档块跳到原文

    这一点很重要,因为渐进阅读是从材料的语境中制卡,回到原文能保证改写的 topic 、生成的 item 不丢失其原意,sm 的引用来源、返回父级、**Ancestors **窗口就是为了防止卡片(元素)孤立,丢失其语义,如下图:

    • image
    • image
    • image

    大纲双链软件里的面包屑反链的核心是上下文跟这三个功能的作用同理,都是补足上下文语境,准确描述并帮助定位当前内容块(卡片、元素)的语义。

    所以其实可以不用局限于文档树制卡,目前是能通过其它方法补充上下文语境的(这也是思源“文档包围大纲”路线的魅力)。

    利用列表大纲提供的面包屑:

    1. 在思源阅读原文(并不一定要在复习界面阅读,可以把要阅读的内容块引用一下安排进复习队列等推送,当然能在复习界面阅读也是好的,不是刚需)

      • 比如像这样
        image
    2. 通过触发块引用浮窗进行阅读(浮窗可以使用新窗口打开,这样不会挡到制卡),再将原文转换为列表大纲的模式
      image

    3. 在列表大纲里制卡

      • image
      • image
    4. 在闪卡界面复习、改卡、补充材料、继续制卡

      • 复习image

      • image

      • 补充材料image

      • 对材料进行改写制卡image

      • 通过面包屑(可以触发浮窗进入上下文,也可以退出聚焦回到上下文里)提供的上下文语境确定语义,知道在问什么,比如这里是在问支配可满足什么样的需求image

      • 在对长文材料也可以列表大纲也可以做到像文档树一样,父级为原材料,子级不断改写的形式进行渐进处理

        • 思源文档树在部分系统上有个七层的限制

    利用块引用进行制卡:

    利用文档树、列表大纲制卡都是要和原文有内容上的物理逻辑关系的,要么是成为子文档块,要么是成为列表大纲里的子级,但是块引用很自由,可以跳出来任意组合上下文

    RR 的块引用一直有个功能,是能转换块引用锚文本为“文本 *”的格式,这样能保留原文,还能对原文本进行改写留下跳回原文的“*”链接,我们就可以利用这一点完成块引用制卡

    • image
    • image
    • image
    • image
    • image

    在这里块引用就可以用作返回上下文语境

    在处理长材料的时候,块引用制卡是这么做的:

    • 第一次块引用原文,转换为“文本 *”进行改写
    • 第二次引用第一次改写的内容,转换后继续改写
    • ...
    • 改写至满意后进行制卡

    这个过程很自由,不用拘泥于在什么位置记录、处理材料

    用块引用不断改写的效果跟在 SM 里渐进处理摘录 topic 是一样的,是两个人( woz 和 conor )用不同的方式实现了同一种效果

    所以目前在思源里,是能通过列表大纲和块引用实现渐进摘录的,而只利用文档树是不行的。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 5 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 615 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    4 引用 • 91 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 283 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    16 引用 • 7 回帖 • 2 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7018 引用 • 31717 回帖 • 219 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 321 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 533 回帖 • 734 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 239 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 404 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 110 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    165 引用 • 1474 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1427 引用 • 10046 回帖 • 473 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 196 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 330 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 897 回帖 • 1 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 141 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 3 关注