Logseqのアドバンスド・クエリ
このページは今のところ、「どういう仕組みになってるんだ?」というのを探るための探り探りのページとなっている。2022/6/19
Advanced Queryの練習
code:clj
{:title "クエリの練習"
:query [:find ?t
:where
これは「完了したタスクを含む日誌以外のページのタイトル」の照会になる
表示例
https://gyazo.com/af3ce3d68ea3f9089f9a7155d0003149
問題点
この方法では日誌ページへのリンクを作ることができなかった。
今回やった方法
[:a{:href (str "#/page/" title)} title]でa要素を作る
たぶんもっと良い方法
(clojure.string/capitalize ...)という関数
この関数については何も分からない(これから調べる)
(なので今回の練習では日誌ページを表示させなくした)
アドバンスド・クエリ
Logseqにおいて「日誌」は特別である
日誌ページはLogseqにおいて独特な機能をもっている
code:clj
{:title "今日のページを取得"
:query [:find (pull ?p *) :in $ ?today
:where
}
「日誌」は特別な「属性」を持っている
正確には、特別な属性の値がtrueである
日誌というページの特殊な属性は、Logseqのページ(ブロック)の:block/journal?がtrueであることによって表現されている。(?)
Logseqにおける「日誌」は単なる〈ページ名が日付であるページ〉ではない
タスクリストとテンプレート以外に書かれている未完了のタスクを照会する
code:clj
{:title "その他のタスク"
:query [:find (pull ?b *) :where
(not= ...)をorとかand的なもので書けないのかな〜……と思っている。2022/6/19
使っている知識
:block/nameという属性
:block/pageという属性