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

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

思源 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. 选中文档中的部分内容块后,可通过快捷键或右键菜单将选中部分用特定颜色高亮,并提取出来作为当前文档的子文档,并将这篇子文档的顶级标题制作为卡片。(在生成子文档的时候需注意,新生成的子文档应位于文档树末尾而不是最前面)

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

  • 思源笔记

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

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

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

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • D 大回复我的,只要内容块制作为了闪卡,在内容块的右边就会有一条竖线。

    我也赞同挖空自动生成卡片,前提是要将“挖空”和“高亮”这两个功能分开,可以看我前一个帖子的讨论:

    2.7.6 预览版闪卡功能改进建议 - openAI 的回帖

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

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

    根据渐进阅读的最小定义 - 知乎 (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 回复
  • 再提一个点,在生成摘录卡的时候,会先选中文字。这时候如果能做到下面这种效果就最好不过了:

    1. 在段落块内选中部分文字,那生成的摘录卡就只含选中的部分。
    2. 如果是跨段落块选中文字,而最前面或最后面的段落块只选中了部分文字,那只截取选中的部分。

    可以先不急着实现这一效果,等渐进阅读的基本功能做好了,再慢慢改进。

  • 查看全部回帖

推荐标签 标签

  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 2 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 169 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 42 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖 • 2 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    531 引用 • 3528 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 54 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 592 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 2 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 149 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    491 引用 • 1383 回帖 • 374 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 70 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 4 关注
  • WebClipper

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

    3 引用 • 9 回帖 • 4 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 1 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1201 回帖 • 455 关注
  • Markdown

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

    163 引用 • 1450 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • 笔记

    好记性不如烂笔头。

    303 引用 • 777 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 19 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 349 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 24 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    476 引用 • 899 回帖
  • BookxNote

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

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

    1 引用 • 1 回帖 • 2 关注