-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
支持基于文档复习闪卡 #7057
Comments
用户不使用文档树的话这个方案会有问题,所以不考虑了,谢谢。 |
如果一个用户对自己的笔记都不做分类的话,那我不相信他会对闪卡进行分类,况且当前的机制对管理卡片分类也极其不方便,参考我上面提到的第③④个缺点,甚至我不觉得他有使用闪卡的需求。 一般来说,使用闪卡的用户,都是为了学习某一领域的知识或者应付考试,而学习知识必然是系统性的,也就是要构建起知识的结构。也就是说,会使用闪卡的这部分用户必然是对笔记有树状分类的。我是建议思源引入间隔重复功能的用户之一( #6462 ),并且我使用过Remnote,所以我很清楚用户的需求。 |
@L-M-Sherlock 叶神怎么看? |
使用文档树有一些局限,具体来说比如这两个情况:
所以我们更倾向于使用容器块结构制卡,比如已经支持的超级块制卡。 |
Dailynote的话,其实不需要太担心。比如具有dailynote的文档树如下:
方案一:就按照文档树即卡包的逻辑,不做任何调整,保持使用逻辑一致。比如 方案二:考虑到dailynote中的文档可能较多,可取消最后一级卡包。比如 方案三:如果用户甚至只有一个笔记本,连一级分类都没有,所有的笔记都是未分类的日记,那么可以采用标签机制来对卡片分类。比如, |
还是倾向于保留卡包的功能。可能后续要优化操作流程。现在的制卡操作是有点不方便,如果能够设置默认的卡包,操作可能就方便很多。 |
设置当前默认卡包可能不错。SuperMemo 就是可以设置当前默认的概念组。 |
@luo-chuan 这三个备选方案应该是三选一吧?否则规则会更复杂,提升了用户的使用成本。如果是三选一的话,这三个方案有明显的弊端:
所以我建议考虑的改进方向是完善现有方案。 |
@88250 D大,怎么说呢,还是希望你能亲自体验一下RemNote。 |
我之前体验过 RemNote 的。 使用文档树还有其他问题,比如
总结来说就是绑定文档路径的方案有局限性,没有逻辑上的卡包灵活。 |
赞同保留目前的卡包设计机制,考虑到思源的用户实际上分别实践着 daily note 和文件夹分类以及其他奇奇怪怪的笔记用法,照搬 RemNote 的效果只能方便到文件夹分类的用户,这实际上是不公平的。 我认为还是目前的制卡方式最合适,只不过需要稍微改进一下,如可以设置个快捷键和默认制卡卡包之类的。 |
@88250 D大。我下面这个视频将解开你的疑惑,看看RemNote是如何实现的。 |
演示上 RN 的操作步骤并不能减少用户的操作成本,和现在思源选块以后加入多个卡包在操作上没有区别,均是你在问题中提到的 3 个步骤,并且还需要引入了额外的概念来支持实现,这不是我们期望的改进。 |
我觉得加两个特性就可以了
|
因为这个演示是针对纯粹的DailyNote用户进行的,他们没有分类的习惯,自然会繁琐,不管采用哪种方式。而对于不使用DailyNote的用户,“文档树即卡包”的方案将实现无感分类,这是达到了绝对高的效率的。下面我对纯粹的DailyNote用户的需求做一点分析。 |
我觉得不管是“记住上次添加的卡包”还是“设置默认卡包”都会容易造成卡片误分类,而一旦误分类,现有机制不易于对卡片管理,不能及时排查出那些误分类的卡片。 |
@88250 @L-M-Sherlock 那就是提供 2 个不同的闪卡复习入口。 第一个入口就是现有方案,通过左上角闪卡图标进入。 第二个入口就是,像 RemNote 一样,在文档树的位置右键。 这样一来,DailyNote 用户无需改变现有的习惯(虽然我不是很赞同这一习惯);而文件夹用户也能实现无感分类了。 |
我描述一下你是不是这个意思:
这样可以达到快速批量将该文档中的所有块制卡的目的,但是这样达不到文档树和卡包绑定的目的,实际上只是做了一个快速批量制卡,和打开文档批量选块后制卡没有太大差别。我不确定你提的这个妥协方案是不是这个意思,还需要讨论。 |
不是这个意思。我的意思是这两个入口是互相独立的,互不干扰。通过第二个入口进入卡片复习界面并不会导致第一个入口产生新卡包。第二个入口不是批量制卡,而是通过类似于查询语句来获得当前文档及其子文档中的所有卡片。 |
提供一个全新的卡包特性的话目前不会考虑了,这个以后可能可以通过 API 支持扩展。 |
前面提到了标签制卡,这里做个补充。我录了个视频,展示了RemNote是如何通过标签来制卡的。 |
借着这个机会,我顺便把 RemNote 的优势介绍了,供D大参考,也给大家做一个科普。 在 RemNote 中,一篇文档就是一个卡包。当然,这里并不是真正的为这篇文档创建了一个卡包,而是通过类似于查询语句的方式得到了这篇文档(及其子文档)中的所有卡片,在用户看来感觉就像是一个卡包一样。一张卡片,不仅属于当前文档的卡包,同时属于它的父文档的卡包以及祖先文档的卡包。比如“行列式的定义”这张卡片不仅属于“高等代数”卡包,同时属于“代数”、“数学”这两个卡包。思源笔记比起 obsidian、logseq 来说拥有完美的文档树,如果这一优势不被闪卡功能好好利用的话,其实是相当可惜的。 有了一篇文档就是一个卡包这一基础,进一步 RemNote 就可以实现一个标签就是一个卡包,可以简单理解为 RemNote 自动为每个标签都创建了一个页面,所有打上了这个标签的块都嵌入到了这个页面内。思源笔记的标签系统还能形成标签树,如果利用好的话也能成为独特的优势。在早些时候的讨论中我就提到过,标签是实现 DailyNote 卡片分类的一种解决方案,具体操作可以看这个视频( BV13A411o7yK ) 更进一步,RemNote 甚至可以实现自由组合卡包。RemNote 提供了一个功能叫做 Search Portal,可以在文档中插入一个搜索块,将带有某一标签、某一关键字的块嵌入进来。借助 Search Portal,用户可以实现自由组合卡包,比如可以将不同标签的块、含有特定关键字的块、嵌入块放进同一篇文档中,这样就得到了一个组合卡包。思源笔记中也有类似的功能,那就是 sql 语句查询,如果利用起来的话,也可以实现类似效果,甚至更个性化的效果。具体操作看下面这个视频: |
基于之前的讨论,我们将进行如下改进:
总的来说就是让用户自己选择使用闪卡的方式:
实现概要:
内置卡包对于用户来说是透明的,在顶栏的闪卡菜单进入后也不会看到这个内置卡包,但是在 All 中可以看到该卡包中包含的闪卡。后面支持查询圈定范围 #7281 的话在 All 中过滤。 |
通过【快速制卡】制作的卡是不能删除的吗 |
@Achuan-2 在复习界面的预览中应该可以移除。 |
@88250 移除之后,再打开复习依然是存在的 也有一个帖子报道了这个问题:https://ld246.com/article/1676794315541 |
你是从 All 里面移除吗? |
@88250 删除属性和在All都不能移除快速制卡的卡 |
删除属性不行的;All 中移除 #7425 |
@88250 好滴 |
@88250 最好默认卡包在卡包中可以显示, 我的卡片多了后从 All 里面翻不出来了... |
@Zuoqiu-Yingyi 复习的时候预览那里可以管理,内置卡包就不显示了,不然容易引起混淆。 |
在什么情况下你需要该特性?In what scenarios do you need this feature?
目前2.6.3的制卡逻辑是这样的:
Step 1. 在文档中选中文字并标记;
Step 2. 点击左侧的段落图标 -> 闪卡;
Step3. 将该段落加入某一卡包;
以上流程有这样几个缺点:① 分散用户精力,本来用户只需要专注于制卡本身,而上述机制会让用户纠结把卡放入哪个卡包。② 制卡过程繁琐,选中文字并标记其实就已经完成制卡了,没必要再多一个选择卡包的过程。③ 上述机制中一旦用户想变更整篇文章的卡包,就要手动地一个一个修改。④ 无法直观地看出某张卡片属于哪个卡包,必须通过上述的第二个步骤才能看出。
描述可能的最优解决方案 Describe the optimal solution
而取消卡包后,一切将变得很自然。比如某用户的文档树结构如下:
而上述结构就是天然的卡包,用户完成选中文字并标记后,不需要再去选择该卡片属于哪一个卡包。现代化的间隔重复笔记软件RemNote就是这样的使用逻辑。
举个例子,比如在《高等代数》这篇文档里面有一个段落是行列式的定义,在此处完成选中文字并标记后,这张卡片很自然地属于
高等代数
、代数
、数学
这3个卡包,无需用户再去选择,并且在复习卡片时,不管用户想复习所有数学知识,还是只想复习高等代数的知识,都会复习到这张卡片。描述候选的解决方案 Describe the candidate solution
No response
其他信息 Other information
No response
The text was updated successfully, but these errors were encountered: