思源的剪藏非常好用,经常保存一些英文文章下来看。但是对于生词只能进行标注,而不能有一个集中的位置进行复习。
我尝试过将生词所在的块引用,全部集中在一个文档块里。这非常耗时间,而且不美观,也不能与间隔重复进行配合。
各位大佬有没有什么解决方法或思路?
思源的剪藏非常好用,经常保存一些英文文章下来看。但是对于生词只能进行标注,而不能有一个集中的位置进行复习。
我尝试过将生词所在的块引用,全部集中在一个文档块里。这非常耗时间,而且不美观,也不能与间隔重复进行配合。
各位大佬有没有什么解决方法或思路?
我希望能够记录单词,然后对释义制卡。
但是如果能将记录的文章和生词本结合在一起就非常方便了。
我是这么用的:
1.一个段落制一张卡;
2.用“备注”功能给生词标注释;
3.闪卡复习,评分,等待下次一复习即可。
特点:
1.形式上不是“正面单词,背面释义”,但都能实现“看单词想释义”的目的。
2.一次复习“一捆”单词,而不是完全孤立的单词。
自己用下来效果良好,这种按段落复习单词,不会丢失单词原有的使用语境。
对于生词只能进行标注,而不能有一个集中的位置进行复习。
答:生词本可以通过文档树构建(思源的闪卡机制:复习父文档,将包含子文档的闪卡)。
举例,上图”历年真题“为父文档,对其选择”重复间隔“,将复习包含子文档的所有闪卡,从而实现生词本(集中复习)的功能。
根据文档树的特性,理论上这种生词本可以无限套娃,其实更加灵活,供参考~
主要功能是通过 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
我希望能够记录单词,然后对释义制卡。
但是如果能将记录的文章和生词本结合在一起就非常方便了。
我是这么用的:
1.一个段落制一张卡;
2.用“备注”功能给生词标注释;
3.闪卡复习,评分,等待下次一复习即可。
特点:
1.形式上不是“正面单词,背面释义”,但都能实现“看单词想释义”的目的。
2.一次复习“一捆”单词,而不是完全孤立的单词。
自己用下来效果良好,这种按段落复习单词,不会丢失单词原有的使用语境。
对于生词只能进行标注,而不能有一个集中的位置进行复习。
答:生词本可以通过文档树构建(思源的闪卡机制:复习父文档,将包含子文档的闪卡)。
举例,上图”历年真题“为父文档,对其选择”重复间隔“,将复习包含子文档的所有闪卡,从而实现生词本(集中复习)的功能。
根据文档树的特性,理论上这种生词本可以无限套娃,其实更加灵活,供参考~
锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
App(应用程序,Application 的缩写)一般指手机软件。
Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
Quicker 您的指尖工具箱!操作更少,收获更多!
AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。
Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。
面试造航母,上班拧螺丝。多面试,少加班。
Thank God It's Friday! 感谢老天,总算到星期五啦!
有点意思就行了
你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。
OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。
Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。
JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。
红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。
Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。
七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。
MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。
LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。
IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
找到自己的位置,萌新烦恼少。
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)