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

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

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

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

  • 思源笔记

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

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

    22378 引用 • 89573 回帖
  • Q&A

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

    8128 引用 • 37048 回帖 • 160 关注

相关帖子

被采纳的回答
  • JOYCELEEEEE 2

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

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

    我是这么用的:

    1.一个段落制一张卡;

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

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

    特点:

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

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

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


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

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

    202409142223.jpg

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
    1. 将块引新建文档路径设置到某个父文档下
    2. 遇到生词时按 Alt+[ 快捷键新建文档或引用已有的生词文档
    3. 所有新建的生词文档就都集中在你设置的某个父文档下
    4. 在父文档中使用目录插件插入子文档块引
    1 回复
  • Humanristos 1 评论

    刚刚买了思源笔记,目前还在研究。

    感觉这款笔记可能比较适合程序员,如果是单纯记生词的话还是选择一些比较大众的产品。

    1 回复
    赞同
    JeffreyChen
  • 需要开发插件实现。你可以发布一个有偿开发插件的帖子。看有没有大佬接单。

  • pakeh2866

    直接制卡试试?

    1 回复
  • ZJQ 1 赞同

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

    目前背单词的软件应该没有能够自己选文章,自己选单词然后记录的。

    4 回复
  • ZJQ

    直接制卡看起来就是对一个句子挖空。

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

  • ZJQ

    大概明白了,谢谢

  • 能够自己选文章,自己选单词然后记录

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

  • Humanristos

    可能我个人比较传统,我比较倾向于在单词簿上手写单词。

  • 17692615

    lingq 就是这种模式,不过付费很贵,算法没有深入了解,但听说比较简陋。希望有人能够在思源里开发出来,目前我知道的平替方案有 anki+ 划词助手,tiddlywiki 中的墨屉插件

  • 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
  • EmptyLight

    有个模板就是创建单词卡的,如果用模板创建单词卡之后将单词卡制卡呢?可以做到类似生词本的效果吗

  • Tisamn

    老哥,历年真题能不能分享一下,想要 markdown 的资源

    1 回复
  • JOYCELEEEEE 1

    我闲鱼上买的 word 版,用集市里的插件导入就可以了。

    手头这个是去年买的,不全,你自己可以去搜罗一下。

  • chouann

    我的灵感来自于集市里的单词本模板,在那个基础上进行了自己的修改,可以参考一下。
    每篇文章中,自动汇总这篇文档的生词(原理是搜寻这篇文章的子文章)
    image.png

    每个生词就是一页,可以自动全局搜索文章中的例句:

    image.png

    有一个单词本的页面进行所有生词的汇总:

    image.png

  • 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
    
  • 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
    
  • Keeevin

    感觉有点麻烦,有没有试过 context,ipad 上读外刊摘录单词的软件

    1 回复
  • JOYCELEEEEE

    试过类似的,但是实践中容易吃灰。

    因为我的知识库都建在思源,再用一个软件做额外的记录储存反而让步骤变得繁琐,增加了学习成本。

    不过因人而异,适合自己的就是最好的,我的分享仅作抛砖引玉 😋

请输入回帖内容 ...

推荐标签 标签

  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Typecho

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

    12 引用 • 65 回帖 • 439 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 1 关注
  • 单点登录

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

    9 引用 • 25 回帖
  • Sublime

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

    10 引用 • 5 回帖 • 1 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    75 引用 • 1737 回帖 • 3 关注
  • 运维

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

    149 引用 • 257 回帖
  • Caddy

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

    12 引用 • 54 回帖 • 164 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    6 引用 • 38 回帖
  • 程序员

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

    568 引用 • 3532 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • WebComponents

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

    1 引用
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖 • 2 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 2 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 431 关注
  • 服务

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

    41 引用 • 24 回帖 • 1 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 1 关注
  • 思源笔记

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

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

    22378 引用 • 89573 回帖
  • TensorFlow

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

    20 引用 • 19 回帖
  • 正则表达式

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

    31 引用 • 94 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 597 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 304 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 210 关注
  • PHP

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

    179 引用 • 407 回帖 • 488 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 530 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 673 关注