是否有人用思源实现了生词本?

思源的剪藏非常好用,经常保存一些英文文章下来看。但是对于生词只能进行标注,而不能有一个集中的位置进行复习。

我尝试过将生词所在的块引用,全部集中在一个文档块里。这非常耗时间,而且不美观,也不能与间隔重复进行配合。

各位大佬有没有什么解决方法或思路?

  • 思源笔记

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

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

    23003 引用 • 92516 回帖
  • Q&A

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

    8443 引用 • 38446 回帖 • 154 关注
被采纳的回答
  • JOYCELEEEEE 2

    我希望能够记录单词,然后对释义制卡。

    但是如果能将记录的文章和生词本结合在一起就非常方便了。

    我是这么用的:

    1.一个段落制一张卡;

    2.用“备注”功能给生词标注释;

    3.闪卡复习,评分,等待下次一复习即可。

    特点:

    1.形式上不是“正面单词,背面释义”,但都能实现“看单词想释义”的目的。

    2.一次复习“一捆”单词,而不是完全孤立的单词。

    自己用下来效果良好,这种按段落复习单词,不会丢失单词原有的使用语境。


    对于生词只能进行标注,而不能有一个集中的位置进行复习。

    答:生词本可以通过文档树构建(思源的闪卡机制:复习父文档,将包含子文档的闪卡)。

    202409142223.jpg

    举例,上图”历年真题“为父文档,对其选择”重复间隔“,将复习包含子文档的所有闪卡,从而实现生词本(集中复习)的功能。

    根据文档树的特性,理论上这种生词本可以无限套娃,其实更加灵活,供参考~

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Keeevin 1 评论

    你说的有道理,context 更新太慢了,我也打算试试 🫡 请教一下你目前单词卡大概积累了多少了?有遇到过问题吗

    百来张应该是有了,目前用得还挺好,没遇到过问题~
    JOYCELEEEEE
  • 其他回帖
  • 能够自己选文章,自己选单词然后记录

    我印象中欧路词典以及一些背单词的 APP 就有这个功能,你可以上小红书搜搜看

  • chouann

    主要功能是通过 sql 查询挂件来实现的,相关的 sql 如下,因为我这个是韩语的生词本,所以针对韩语词尾变形作了优化,英语、其它语言的话,相应修改就行。

    单词本

    
    WITH RECURSIVE
      hanyi_blocks(id, parent_id, root_id, content, type, subtype, level) AS (
        SELECT id, parent_id, root_id, content, type, subtype, 0
        FROM blocks
        WHERE type = 'h' AND content = '汉义' AND subtype = 'h3'
      
        UNION ALL
      
        SELECT b.id, b.parent_id, b.root_id, b.content, b.type, b.subtype, hb.level + 1
        FROM blocks b
        JOIN hanyi_blocks hb ON b.parent_id = hb.id
        WHERE hb.level < 5  -- 限制递归深度,防止查询过大
      ),
      ciyuan_blocks(id, parent_id, root_id, content, type, subtype, level) AS (
        SELECT id, parent_id, root_id, content, type, subtype, 0
        FROM blocks
        WHERE type = 'h' AND content = '词源' AND subtype = 'h3'
      
        UNION ALL
      
        SELECT b.id, b.parent_id, b.root_id, b.content, b.type, b.subtype, hb.level + 1
        FROM blocks b
        JOIN ciyuan_blocks hb ON b.parent_id = hb.id
        WHERE hb.level < 5  -- 限制递归深度,防止查询过大
      )
    SELECT
        '[' || b.content || '](siyuan://blocks/' || b.id || ')' AS __1____pre__单词,
        (
            SELECT GROUP_CONCAT(cb.content, '
    ')
            FROM hanyi_blocks cb
            WHERE cb.root_id = b.id AND cb.type = 'p'  -- 只选择段落类型的块
            ORDER BY cb.id
        ) AS __2____pre__汉义,
        (
            SELECT GROUP_CONCAT(cb.content, '
    ')
            FROM ciyuan_blocks cb
            WHERE cb.root_id = b.id AND cb.type = 'p'  -- 只选择段落类型的块
            ORDER BY cb.id
        ) AS __3____pre__词源,
        b.created AS __4____date__创建日期
    FROM
        blocks AS b
    WHERE
        b.type = 'd'
        AND b.content REGEXP '^[\x{AC00}-\x{D7AF}\s]+$'  -- 筛选文档标题为纯韩语字符(允许空格)
        AND EXISTS (
            SELECT 1
            FROM blocks hb
            WHERE hb.parent_id = b.id AND hb.type = 'h' AND hb.subtype = 'h3' AND hb.content = '汉义'
        )
    ORDER BY
        b.created DESC
    LIMIT 1000
    

    例句

    WITH RECURSIVE
    current_document AS (
        SELECT 
            content AS title,
            CASE 
                WHEN content LIKE '%다' THEN substr(content, 1, length(content) - 1)
                ELSE content
            END AS root
        FROM blocks
        WHERE id = '.root{.id}'  -- 获取当前文档的ID
    ),
    vowel_changes(from_vowel, to_vowel) AS (
        SELECT '이', '여' UNION ALL
        SELECT '으', '어' UNION ALL
        SELECT '아', '어' UNION ALL
        SELECT '오', '와' UNION ALL
        SELECT '우', '워' UNION ALL
        SELECT '이', '에' UNION ALL
        SELECT '지', '져' UNION ALL
        SELECT '치', '쳐' UNION ALL
        SELECT '비', '벼' UNION ALL
        SELECT '피', '펴' UNION ALL
        SELECT '기', '겨' UNION ALL
        SELECT '키', '켜' UNION ALL
        SELECT '시', '셔' UNION ALL
        SELECT '디', '뎌' UNION ALL
        SELECT '티', '텨' UNION ALL
        SELECT '히', '혀' UNION ALL
        SELECT '미', '며' UNION ALL
        SELECT '니', '녀' UNION ALL
        SELECT '리', '려'
    ),
    possible_changes(original, changed, level) AS (
        SELECT root, root, 0
        FROM current_document
      
        UNION ALL
      
        SELECT 
            pc.original,
            substr(pc.changed, 1, instr(pc.changed, vc.from_vowel) - 1) || 
            vc.to_vowel || 
            substr(pc.changed, instr(pc.changed, vc.from_vowel) + length(vc.from_vowel)),
            pc.level + 1
        FROM possible_changes pc
        JOIN vowel_changes vc
        WHERE pc.changed LIKE '%' || vc.from_vowel || '%'
        AND pc.level < 2  -- 限制递归深度
    )
    SELECT DISTINCT
        '[' || replace(b.content, pc.changed, '==' || pc.changed || '==') || '](siyuan://blocks/' || b.id || ')' AS __1____pre__例句,
    	b.hpath AS __2__文档路径,
        cd.title AS __3__搜索词,
        pc.changed AS __4__匹配形式
    FROM
        blocks AS b,
        current_document cd,
        possible_changes pc
    WHERE
        b.type = 'p'
        AND b.hpath LIKE '%韩语%'
        AND (
            b.content LIKE '%' || pc.changed || '%'
            OR b.content LIKE '%' || pc.changed || '다%'
            OR b.content LIKE '%' || pc.changed || '어%'
            OR b.content LIKE '%' || pc.changed || '아%'
            OR b.content LIKE '%' || pc.changed || '여%'
            OR b.content LIKE '%' || pc.changed || '야%'
        )
        AND b.root_id != '.root{.id}'  -- 排除当前文档
    GROUP BY b.id
    ORDER BY
        b.path
    LIMIT 30
    
  • JOYCELEEEEE 2 1 评论

    我希望能够记录单词,然后对释义制卡。

    但是如果能将记录的文章和生词本结合在一起就非常方便了。

    我是这么用的:

    1.一个段落制一张卡;

    2.用“备注”功能给生词标注释;

    3.闪卡复习,评分,等待下次一复习即可。

    特点:

    1.形式上不是“正面单词,背面释义”,但都能实现“看单词想释义”的目的。

    2.一次复习“一捆”单词,而不是完全孤立的单词。

    自己用下来效果良好,这种按段落复习单词,不会丢失单词原有的使用语境。


    对于生词只能进行标注,而不能有一个集中的位置进行复习。

    答:生词本可以通过文档树构建(思源的闪卡机制:复习父文档,将包含子文档的闪卡)。

    202409142223.jpg

    举例,上图”历年真题“为父文档,对其选择”重复间隔“,将复习包含子文档的所有闪卡,从而实现生词本(集中复习)的功能。

    根据文档树的特性,理论上这种生词本可以无限套娃,其实更加灵活,供参考~

    2 回复
    3 操作
    JOYCELEEEEE 在 2024-09-14 22:46:24 更新了该回帖
    JOYCELEEEEE 在 2024-09-14 22:42:42 更新了该回帖
    JOYCELEEEEE 在 2024-09-14 22:12:21 更新了该回帖
    学习了,谢谢
    ZJQ
  • 查看全部回帖

推荐标签 标签

  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 1 关注
  • 机器学习

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

    83 引用 • 37 回帖
  • Node.js

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

    139 引用 • 269 回帖 • 28 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    85 引用 • 139 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 1 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 1 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 5 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 653 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注
  • TensorFlow

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

    20 引用 • 19 回帖 • 1 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 2 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖 • 1 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 159 关注
  • 钉钉

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

    15 引用 • 67 回帖 • 335 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • 开源

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

    407 引用 • 3578 回帖
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    354 引用 • 1823 回帖 • 1 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    16 引用 • 130 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注