Dataviewを使って「前回のアレ」をすぐ見つけられるようにする
💎series設定であらゆるノートで「同じクエリ」が使える
2年くらいかけて、ようやくいい感じの仕組みがいい感じになってきました。たぶん賢い人なら3分で思いつくであろうことなんだけど、ようやく「スマートな仕組み」として確立してきました。
何がしたかったのかというと「前回のやつ」をすぐに見つけられるようにすること。
ナレッジスタックのセミナー案内記事なんかは典型的なんですが、こういう記事は半分くらいが「テンプレ」なんですよね。
そうすると「前回のノートをコピーして必要な部分を書き換える」というやり方でいろんなことがスムーズに進む場合が多いです。(もちろん、コピーが便利な理由は他にも色々ある)
それ以外にも「たしか以前こういうこと書いたはず」なんてことは多く「同じカテゴリの仕事」をする場合には、前のノートにさっと移動できると便利なことが多いです。
そのあたりの手間暇を減らすために「Dataviewで前後のページへのリンク」を作るようにしておくと、Dataview部分の中身は一切書き換えることなく「前後のページへのリンク」が作れて便利です。
これ、定型文ひとつと、基本ルールを覚えれば、あとは勝手にいい感じに関連ノートがずらっと並んでくれます。この仕組み自体は2年前くらいから使っていたんですが、ようやくちょっとだけ「スマートな仕組み」として安定してきました。
「ぜんぶおなじやつ」で使えるようにする
今回の「進化」は、基本ルールさえ守ればどのノートでも「全部同じコード」で運用できる、というものです。
賢い人なら3分でできることに、2年かけてようやく到達することができました。
LIST
WHERE file.day <= this.file.day - dur(1 d) & series = this.series
SORT file.day DESC
LIMIT 5
SORT file.day ASC
LIST
WHERE file.day >= this.file.day + dur(1 d) & series = this.series
SORT file.day ASC
LIMIT 5
このコードをノートの一番上に貼っておくと、こんな雰囲気の「リンク」が作れます。
必要なのは、上記画像のように「ファイル名の先頭が年月日での日付であること」と、Propertiesのところに「series」というのが設定されていること。
これによって、同じ「series」のノートが、ファイル名の日付を基準にして、そのノートの前後5つずつが表示されるようになる、という仕組みです。
あとはこのdataviewのコードを、Obsidianのテンプレートフォルダなんかに保存しておけばいつでもサッと呼び出せるし、なんらかの定型文管理アプリなんかを使ってもいいでしょう。
ごりゅごは、超アナログに「他のノートからコピーしてくる」という技でしのいでいます。
ただ、これだと「ファイル名に日付が入っていないと並べられない」という制限が出てきます。
自分の場合はこのルールで問題ないんですが、もうちょっと別のパターンで作ったものが以下。


