说明:本文部分内容使用ChatGPT生成
前言
在这篇文章中,我将介绍如何使用Logseq的高级查询功能来统计年度阅读清单。阅读是一种重要的学习和个人发展方式,通过对阅读材料的记录和统计,我们可以更好地提高阅读效率和掌握阅读进度。而Logseq正是一个非常适合用来统计阅读清单的工具。我将分享我的个人使用经验,并向读者展示如何使用Logseq的高级查询功能来统计年度阅读清单。
通过本文,读者将学会如何:
- 利用Logseq记录阅读材料
- 利用高级查询功能统计阅读量
- 创建年度阅读清单并跟踪阅读进度
我相信,通过本文的学习和实践,读者将能够更好地管理和跟踪自己的阅读进度,并取得更好的阅读效果。
创建阅读记录模版
Logseq 支持创建自定义模板,你可以在上面定义你需要记录的字段, 比如说书名、作者、出版日期、开始阅读日期、阅读完成日期等。
创建阅读记录模版
book template.gif我将模版内容放到下面
## Meta
Type:: [\[book📚]]
Status::
Cover:: ![image]( ){:height 172, :width 98}
Title::
Author::
Link:: [douban]( )
Start::
End::
Year::
添加阅读记录
创建阅读记录,以我阅读过的《如何科学学外语:语言习得的真相与方法》一书为例
Type:: #book📚, #ReferenceNotes
Status:: #PS1
Cover:: ![image](https://img1.doubanio.com/view/subject/l/public/s33918477.jpg){:height 172, :width 98}
Title:: 如何科学学外语:语言习得的真相与方法
Author:: 白井恭弘
Link:: [douban](https://book.douban.com/subject/35424870)
Start:: [[Oct 18th, 2022]]
End:: [[Nov 8th, 2022]]
Year:: [[2022]]
效果图如下
阅读记录.png编写查询语句
我希望能查询出页面属性start
范围在2022年并且type
属性中包含book📚
的所有记录,查询语句如下:
#+BEGIN_QUERY
{
:title [:h2 "2022阅读清单🧾"]
:inputs [20220101 20221231] ; 需要查询的日期范围,注意yyyyMMdd格式
:query [
:find (pull ?b [*])
:in $ ?startOfYear ?endOfYear ; inputs中设置的变量名 :inputs
:where
[property ? :type "book📚"]
[?b :block/properties ?properties]
[(get ?properties :start) ?start-at]
[?b :block/ref-pages ?p] ; 提取引用的页面
[?p :block/journal? true] ; 判断是journal
[?p :block/journal-day ?d] ; 提取journal日期
[(> ?d ?startOfYear)] ; 需要大于startOfYear
[(< ?d ?endOfYear)] ; 需要小于endOfYear
]
}
#+END_QUERY
效果图如下:
阅读清单.png总结
通过本文,读者可以学会如何利用logseq模版创建阅读记录并展示某个时间范围内的阅读清单。
参考资料
- 阅读记录模版来自Logseq - Creating a Reading List with Templates, Page Properties and Queries
- 查询语句主要感谢How to query block property with a date? 这一帖子下vipom 的回答
-
Query with exact date 下dhaze 的回答让我知道了绝对日期的输入格式为
yyyyMMdd
网友评论