見出し画像

【Obsidian】あるフォルダのノートをランダムにリスト表示する【plugin】

Obsidianを使い始めてはや2週間。ノート/ファイルが溜まってきたので、そろそろ見返したくなりました。

Obsidianのノートはフォルダごとにサイドバーに表示されているので、「あれを見よう」と探しにいくときは見つけやすいのですが、「どうしても見たい」という気持ちがないノートはデータの海に沈んで二度と再会できません。そもそも書いたことすら忘れています。

ただ、そういうまとまってないノートから得られるものって結構あるんですよね。

そこで、「見に行こう」とわざわざ探さなくてもノートとランダムに再会できるようにしました。コアプラグインにも「ランダムノートを開く」というコマンドがありますが、その延長のようなものです。

Obsidian Query Language(OQL)

使ったのは、community pluginの1つのOQLというものです。
記事執筆時点(2022.1.25)のインストール数は3,261で少なめです。みなさん他の方法でノートのランダム表示をさせてるのでしょうか。
※ちなみにインストール数1位のAdvanced Tableは175,224でした。

使用例

daily noteの下の方にランダムレビューエリアを作っています。

基本的に新規作成したノートは「00-inbox」というフォルダに作成されるようにしているので、このフォルダから何個かランダムで、リンク付きで表示してくれるとよさそうです。

そこでこんなコードにしました。

```oql
query: "'00-inbox/"
template: "list"
sort: 'random'
limit: 7
```

00-inboxのフォルダから7つのノートをランダムでリスト表示せよ、ですね。

すると、次のように表示されます。(mobile画面)

ある1つのフォルダからランダムでノートを表示

できました。
これで、ノートを見返すきっかけができますね。

daily noteのテンプレートにさっきのコードを書いておけば、毎日のdaily noteで違った結果が返ってきます。

クエリをいじればサブフォルダの中も検索できます。
00-inboxの中のabcというフォルダのノートを表示したければ、query: "''00-inbox/abc/"と書けばいいです。

※フォルダの後ろに/を入れ忘れないように!dataview pluginの癖で書かずにいたので首をひねりました。

ファイル名の前に'(シングルクォーテーション)を付けるといいらしい、というのでつけてますが、違いはよくわかりません。

タグ指定のときは""ではなく#でいけるはずです。

注意点

  • フォルダ指定かつタグ指定はできません(≒わかりません)

  • 複数フォルダの指定はできません(≒わかりません)

  • live viewには対応していません

  • 検索結果画面の右上にOQLという文字が出てきます。mobile appだとちょっとファイル名の文字と被ります。

  • 【重要】たまに検索結果がバグります!(特に指定した条件のノートが少ないときは、デイリーノートとかを検索結果として返したりします。pluginのせいか私のせいかは不明)

バグって指定したフォルダの外にあるデイリーノートを返すOQL


まぁちょっとおかしな動きがあるとはいえ、ランダムにリスト表示してくれる機能は役に立ちます。
他のやり方がわからないので、しばらくはこれで運用しようと思います。

他の方法

これは私が理解できないので使っていないのですが、Templaterを使ってランダム表示させることもできるようです。

Generate A List Of Random Evergreen Notes Using Templaterの段落を参照

いつか読めるようになりたいですね。

この記事が気に入ったらサポートをしてみませんか?