利用Advanced Queries统计Logseq年度阅读清单

2023-01-09  本文已影响0人  鱼头三

说明:本文部分内容使用ChatGPT生成

前言

在这篇文章中,我将介绍如何使用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模版创建阅读记录并展示某个时间范围内的阅读清单。

参考资料

上一篇下一篇

猜你喜欢

热点阅读