使い方を忘れそうなので。
LifeLog
Obsidianを起動せずにデイリーノートにメモるショートカット。
Safariから呼び出すとブックマークになるので多用しているんですが、あとでの振り返りですかね。 そこが活用できていない。 「○○を含む項目を表示したい」ってとき。
それでDataviewで考えてみました。
ListUp.md
変数KEYで指定した言葉を含む項目をリストアップします。
```dataviewjs
const KEY = "youtube.com/"
d = dv.pages('"journals"').file
.sort(x => x.mtime, "desc").lists
.filter(x => x.text.includes( KEY ))
.limit(100).text
dv.paragraph(d.join("\n\n"))
```
途中 "journals" となっているのはデイリーノートのフォルダです。 ご自分の環境に合わせて変更してください。
Memos形式
LifeLogはMemosの形式に合わせています。 リストとタイムスタンプの組み合わせ。 何も考えずにそうしたのですが、これには意味がありました。
Dataviewにはファイルの内容を調べる方法がありません。 ただファイル内にリストがあるとき、そのテキストは読める。 そうした特性があります。
Memosはそれを想定してるんですね。 Memos形式で書いておくと項目の絞り込みができます。 キーワードが含まれるか判定できる。 そのリストだけを表示できます。
わかりやすいのでYouTubeにしましたが、キーワードはそれだけに限らないでしょう。 タグを使ってもいいし。 過去に書いたメモからテーマを決めてピックアップする。 そんな使い方ができます。
まとめ
dataviewjsのスクリプトは ~~~ で挟めばコードブロック化できた。
今まではてなブログに書き込むとき、インデントを使って苦労してたんです。
表には見えないけど。