2.7.6 预览版闪卡功能改进建议

本贴最后更新于 860 天前,其中的信息可能已经时移世异

我体验了一下 https://github.com/siyuan-note/siyuan/releases/tag/v2.7.6-dev5 ,感觉有两个地方值得改进。

一、虽然在文档树的文档右键菜单中新增了“闪卡”入口,但是笔记本右键菜单中没有“闪卡”入口,如果用户想复习某笔记本中的所有卡片的话就不太方便了。(v2.7.7-dev4 已修复该问题)

二、建议将“快速制卡”进化为“全自动无感制卡”。目前的机制还是需要用户按快捷键,这一步骤完全可以省略。希望更改使用逻辑,免去快捷键这一步骤。比如,当内容块由“无标记”变为“有标记”时,自动让卡片生效;当内容块由“有标记”变为“无标记”时,自动从“默认卡包”中移除。这样改进的理由是绝大多数情况用户对内容块标记就是为了制卡,只标记而不让卡片生效的情况很少很少


经讨论,为了照顾部分用户的特殊需求,我建议这样来进行改进:

  1. 取消菜单中的“快速制卡”,让所有有标记的块都自动放入“默认卡包”,“默认卡包”全自动管理,不可手动修改。
  2. 将原本属于“快速制卡”的快捷键“Ctrl+Alt+F”让给“添加到卡包”,用户可指定该快捷键的卡包,比如手动创建的“真正要背的卡包”
  3. 将“标记”功能的名字改为“挖空”,避免用户将该功能用于高亮,引导用户使用修改字体背景色来实现高亮。

你喜欢哪种方式?

单选 公开 已于 2023-03-13 21:48:00 结束 9 票
卡片默认生效,不需要快捷键(可提供开关,手动使卡片失效)
66% 6 票
每完成一处挖空,都要按一次快捷键使卡片生效
0% 0 票
围观
33% 3 票

  • 思源笔记

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

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

    26357 引用 • 109605 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • zxhd86 via Ubuntu

    反对,思源作为文档性笔记软件,很大一部分内容并不是为了背诵准备的,我认为在制卡上提供一个文档一键制卡功能就可以了。

    此外,就算卡片没有标记,它也可能只是渐近阅读的材料。我认为需要提供更快的删除卡片的方式,但是这个还是不要自动化比较好。

    1 回复
  • 可以这样优化逻辑,默认卡片生效,但提供手动让卡片失效的开关。毕竟只标记而不生效卡片只是极少数情况,没必要为了这极少数情况,牺牲大多数情况的便利性。

    再说你提到的“一键制卡”,不就是让整篇文档的卡片都生效吗?和我说的自动默认生效有什么区别?还多了一个步骤。

    1 回复
  • zxhd86 via Ubuntu

    因为,思源的标记并不是为了制卡准备的,在我写在思源的很多文档里,我虽然使用了标记,但我并不打算背诵它们。

    因此,默认关闭制卡才是合理的。

    2 回复
  • 既然你不背,你标记它干嘛?

    你这种需求我不能理解,建议你建 2 个卡包,一个卡包是需要背的,一个卡包是不需要背的,然后你每次只背需要背的那个卡包。

    1 回复
  • 其实我更倾向于所有带标记的块都生效,也不提供让卡片失效的选项,这样逻辑最简单。如果要增加让卡片失效的功能的话,无法在文档中直观判断卡片当前的生效状态,为了区分,又要增加逻辑,让生效和失效呈现不同的颜色。

  • 你可以体验一下 2.7.6 预览版,“快速制卡”功能是将卡片放入“默认卡包”,而你的特殊需求完全不受影响,因为你可以通过另外建一个“真正要背的卡包”来实现。

  • zxhd86 1 赞同 1 评论 via Ubuntu

    嗯,怎么说,标记就是单纯为了强调一部分的内容啊,这是它的本来用途啊。

    在除了 remnote 以外的笔记软件里,粗体、斜体、标记的目的不都是这样类似的吗。

    在 remnote 里面,也是用了一个特殊的挖空类型来生成卡片,而没有直接把标记当成挖空来看。

    或许,其实更好的办法是在思源中新添加一种标记挖空文本的方法,不要跟原本单纯用于强调文本的标记重合。

    1 回复
    懂你意思了,你是想单纯需要一个高亮功能,但该功能在思源中与闪卡冲突了。
    openAI
  • openAI 1 赞同

    如果你是想利用“标记”来实现高亮的话,可以换一种方式。选择你需要高亮的文字,然后设置字体,思源提供了修改背景色功能,通过修改背景色来实现高亮,这样就能解决你“高亮”和“闪卡”的冲突。

    image.png

  • sweesalt

    反对 高亮=挖空,本人大部分情况只需要高亮标记重点内容,不需制卡。如果有网友有这个需求,建议单独设置一个“挖空”功能选项。

  • wxtgood 1 赞同 via Redmi K20 Pro Premium Edition

    应该弄一个新的挖空样式,与高亮区分开,这时再支持自动加入卡包就好了。

    D 大,赶紧过来围观了

    @88250

  • 这个一开始设计间隔复习时就考虑过了,但是考虑到其他类型的闪卡(超级块、列表块)也需要通过制卡完成,所以我们就都统一使用“制卡”步骤了。

    1 回复
  • 超级块、列表块制卡始终要多一步点击或者快捷键操作,这个无法避免。但是挖空是可以避免多一步操作的,可以在设置中增加一个偏好选项,挖空自动生成闪卡。还有,如果不对“挖空”和“高亮”做区分的话,对后期卡片管理也是一个灾难。

    关于超级块和列表块制卡,还有一个问题就是,目前没有相应的记号,也就是用户无法直观地看出此处是否有闪卡,也许过一段时间,用户自己也忘了这里到底有没有闪卡了,不方便管理。参考 RemNote,问答卡和列表卡都是有相应的记号,左右箭头和下箭头,思源不一定采用这样的记号,可以根据思源自身的特点,设计符合思源的记号。

    1 回复
    1 操作
    openAI 在 2023-02-21 10:13:52 更新了该回帖
  • 我还是觉得统一一些好,这样使用起来压力小一些,这一点只是我个人感觉,后面会根据用户反馈再考虑。

    内容块制作闪卡以后可以在右边看到一条竖线。

    2 回复
  • 好的,刚刚注意到竖线了。

    另外如果不对“挖空”和“高亮”做区分的话,对后期卡片管理也是一个灾难。还是建议挖空是挖空,高亮是高亮,各司其职,这样一来,挖空自动生成闪卡也就顺理成章,没有争议了。

    1 回复
  • 请具体说说对于“灾难”的顾虑。

    2 回复
  • 不管是否自动生成闪卡,我也赞同挖空和标记应该是分开的,标记通用说法就是文本高亮,用于各种可能的提醒,挖空则是字面意思的挖掉留出空白,反而和高亮是相反的概念,对于使用上还是不一样的。甚至不用闪卡的前提下,挖空也可以作为另外一个行级元素出现在文本中。

    1 回复
  • 就是说我看到某处的文字高亮,无法区分这里是单纯的高亮,还是设置了闪卡,不过我刚刚注意到挖空也是有后面那条竖线的,好像也还好。

    如果挖空要手动制卡的话,有个问题,就是去掉所有挖空后,卡片仍然生效,想要将这个卡片移除,需要到卡包里面去,比较麻烦。或者给一个取消制卡的快捷方式。

    看看其他用户怎么反馈吧,我还是觉得自动比较好。

    1 操作
    openAI 在 2023-02-21 11:18:41 更新了该回帖
  • 现在的机制就是没有挖空,也能生成卡片。我不敢说这样就不好,因为有用户有渐进阅读的需求,说不定这种不挖空也能制卡反而符合他们的需求。当然我不懂渐进阅读,这个可以请教叶峻峣大神。这有个渐进阅读的视频可以参考:

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

    其实吧,现在这样也挺好的,多按一次快捷键也不是不能接受,但是还是希望提供一个快速取消制卡的方式

    1 回复
  • 再按一次快速制卡的快捷键就是取消该块制卡了。

    1 回复
  • wxtgood 1 赞同 via Redmi K20 Pro Premium Edition

    其实目前的状态才是不统一的,原因如下:

    1.对于挖空制卡:需要两步才能完成制卡,即第一步先高亮,第二步再制卡。

    2.对于超级块、列表制卡:需要一步就可以完成制卡,即直接块菜单制卡。

    而当设计一个独立的挖空样式后,上面的两种制卡方式才统一了,即:

    1.对于挖空制卡:需要一步即可完成制卡,即直接用挖空样式制卡。

    2.对于超级块、列表制卡:需要一步即可完成制卡,即直接块菜单制卡。

    这样两种制卡的劳动强度是相同的,给人的感觉是统一的。

    在有了独立的挖空样式后,建议制卡时自动加入那个对用户透明的默认卡包里,原因如下:

    因为之后支持的筛选卡片功能,以及目前手动加入其他用户自建卡包,都能满足用户对特定卡片在特定场景对其进行的有目的的记忆,所以对于大部分使用时间,直接自动加入默认卡包即可,有需求时,再进行卡片筛选或自建卡包。

    2 回复
  • 你看下前面楼主的回复,我觉得目前的方案是比较平衡的。

    1 回复
  • wxtgood via Redmi K20 Pro Premium Edition

    但挖空样式不能影想了正常阅读,即在正常阅读笔记时,不能出现空白,只有在记忆卡片时出现空白。

    1 回复
  • 这个。。有的人用挖空做卷子的啊,据我所知就有 2 个老师用思源做出题库

    1 回复
  • 试了,快捷键可以取消制卡,但无法通过菜单中的“快速制卡”取消制卡,希望这两者能统一。Ctrl+Alt+F 快捷键和 QQ 的截图快捷键冲突,所以还是优化一下鼠标操作,达到按一次菜单中的“快速制卡”是制卡,再按一次是取消。

  • wxtgood 1 赞同 1 评论 via Redmi K20 Pro Premium Edition

    还觉得挖空和高亮分开来好,

    一是两者所代表的含义是不同的,

    二是能支持引入自动加入默认卡包的功能,而不影响原来使用高亮的用户。

    三是对于有选择放入非默认卡包的用户,多一步进入块菜单手动选择卡包也是可以满足的。

    主要是现在“高亮”和“挖空”没有拆分,如果这两个功能拆分了的话,可以实现这样的逻辑,就是内容块由无挖空变为有挖空,自动完成制卡,这是很有意义的。但内容块由有挖空变为无挖空,则不一定要取消这张卡片;可以保留这张卡片,因为卡片不一定要挖空,可以单纯作为定期回顾。
    openAI
  • 主要是现在“高亮”和“挖空”没有拆分,如果这两个功能拆分了的话,可以实现这样的逻辑,就是内容块由无挖空变为有挖空,自动完成制卡,这是很有意义的。但内容块由有挖空变为无挖空,则不一定要取消这张卡片;可以保留这张卡片,因为卡片不一定要挖空,可以作为定期回顾。

    1 回复
  • wxtgood via Redmi K20 Pro Premium Edition

    啊,这…… ,这种用法不属于闪卡功能应承担的,要是这样的话,那阅读笔记时咋看了?满篇都是空

  • wxtgood via Redmi K20 Pro Premium Edition

    我认为内容块由有挖空变为无挖空时,应该取消这张卡片。

    我感觉你所说的挖空样式是 [……] 这样的,我认为不妥,这样对再次阅读笔记特别不利,满屏的[……],阅读时有很大的障碍。

    我所认为的挖空样式,是类似目前高亮的样式,即在阅读界面是不隐藏笔记的,只有在记忆卡片界面才隐藏挖空的内容。与高亮的区别只是两者的功能相互独立开。

    这样也就不用争论由有挖空变为无挖空时,应不应该取消这张卡片的问题的,只有当真正觉的这张卡片没用了时,就去取消挖空,在感觉可能还有用前,不去取消挖空也不影响任何事。

    1 操作
    wxtgood 在 2023-02-21 14:07:40 更新了该回帖
  • winds

    这样改进的理由是绝大多数情况用户对内容块标记就是为了制卡,只标记而不让卡片生效的情况很少很少

    并不同意。高亮是阅读和回顾时很常用的功能,全挖空的话,阅读时满满的空白也太恐怖了==

    高亮和挖空分开个人感觉也没必要。现在的方案就挺好的。

请输入回帖内容 ...

推荐标签 标签

  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 643 关注
  • IPFS

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

    20 引用 • 245 回帖 • 234 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 2 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 279 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 265 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖
  • 服务器

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

    125 引用 • 585 回帖 • 1 关注
  • TensorFlow

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

    20 引用 • 19 回帖 • 1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 469 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 2 关注
  • Anytype
    3 引用 • 31 回帖 • 28 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    59 引用 • 25 回帖 • 3 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 3 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    172 引用 • 540 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • Flume

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

    9 引用 • 6 回帖 • 661 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    46 引用 • 114 回帖 • 166 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    77 引用 • 37 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 1 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 5 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 662 关注
  • Scala

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

    13 引用 • 11 回帖 • 155 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2040 回帖
  • Solidity

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

    3 引用 • 18 回帖 • 446 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 197 关注