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

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

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

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

  • 思源笔记

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

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

    23014 引用 • 92574 回帖
  • Q&A

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

    8447 引用 • 38484 回帖 • 155 关注
被采纳的回答
  • JOYCELEEEEE 2

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

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

    我是这么用的:

    1.一个段落制一张卡;

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

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

    特点:

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

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

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


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

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

    202409142223.jpg

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • pakeh2866

    直接制卡试试?

    1 回复
  • 其他回帖
    1. 将块引新建文档路径设置到某个父文档下
    2. 遇到生词时按 Alt+[ 快捷键新建文档或引用已有的生词文档
    3. 所有新建的生词文档就都集中在你设置的某个父文档下
    4. 在父文档中使用目录插件插入子文档块引
    1 回复
  • chouann

    当前页单词

    WITH subpages AS (
        SELECT id, content, path
        FROM blocks
        WHERE type = 'd' AND path LIKE '%/.block{.root_id}/______________-_______.sy'
    )
    SELECT 
        '[' || s.content || '](siyuan://blocks/' || s.id || ')' AS __1____pre__单词,
        (SELECT b1.content 
         FROM blocks b1 
         WHERE b1.root_id = s.id 
           AND b1.type = 'p' 
           AND b1.parent_id = (SELECT id FROM blocks WHERE root_id = s.id AND type = 'h' AND content = '汉义' AND subtype = 'h3')
         LIMIT 1) AS __2____pre__汉义
    FROM subpages s
    ORDER BY s.path
    LIMIT 100
    
  • 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
    
  • 查看全部回帖

推荐标签 标签

  • BookxNote

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

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

    1 引用 • 1 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 52 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 5 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 1 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 140 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 700 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 492 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    728 引用 • 1273 回帖 • 1 关注
  • ReactiveX

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

    1 引用 • 2 回帖 • 161 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 197 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 2 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 446 关注
  • C

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

    85 引用 • 165 回帖 • 2 关注
  • Chrome

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

    62 引用 • 289 回帖
  • IPFS

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

    21 引用 • 245 回帖 • 243 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 105 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 780 关注
  • Tomcat

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

    162 引用 • 529 回帖 • 4 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 53 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖 • 1 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 748 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖