nezu のすべての投稿

続:Obsidianでランダムノート

今回やりたかったのは、こんな内容。

  • 「Memo」という名前のフォルダに一時的なメモのノートが入ってる
  • その都度エクスプローラを開くのは面倒なので一時的なメモのノートの一覧を表示するノートを作りたい
  • フォルダのノートを列挙するコードブロックを書けばいいじゃん

先日書いたこの記事。


このとき使ったObsidian Query Languageが使えそう、ってことで使ったんだけど、原因不明で難航。

先日の記事では検索するノートのパスは

query: "path:02_HintOfADay"

って書こう&プラグインの公式ページの記述は間違ってるよって得意げに書いたんだけど、今回のコードブロックで以下の書き方では全く動作しなかった。。。

query:"path:Memo"

よく考えたら先日の記事でObsidian Query Languageプラグインを使ったのはソート順をランダムにしたかったから。

今回はアルファベット順にすればいいのでDataviewプラグインで良いんじゃんって気づいたのはずいぶん時間が経ってから。

最終的に書いたコードブロックはこちら。

```dataview
LIST
FROM "Memo"
WHERE file.name != "MemoIndex"
```

ちょ~シンプルでした。

Obsidianでフォルダ・ノートの並べ替え

Obsidianのエクスプローラでは基本的にアルファベット順でフォルダが並ぶ。フォルダのあとにノートという順。

だからフォルダを自分の使いやすい順に並べようと思うと、頭に番号を振ったりすることになる。こんな感じ。

まぁBASICみたいで悪くはないんだけど、まだ自分はObsidian初心者なので順番を変えたくなったりするわけです。
そうすると頭の番号を振り直すことになる。

単に順番が変わるだけなら大した問題ではないんだけど、プラグインも増えてくると諸々の設定でフォルダとかノートへのパスを指定することも少なくないのでパスが変わるのはメンテナンスの面からいただけない。

意図通りの順番に並べたいけど連番は振りたくない。
そんなときに見つけたのがこのプラグイン。

コミュニティプラグインで「Custom File Explorer Sorting」でみつかるかな。

これを使ったら、下の画像みたいな感じでフォルダの並び替えは意のまま。

フォルダとかノートがガンガン増えるフォルダには向かないけど、全体の構成の骨組みを連番無しで管理できるのはたぶん便利なはず。
しばらく使ってみることにする。

Obsidianでランダムノートを表示するコードブロック

なかなかはまった。

僕のObsiianのとあるフォルダには「判断のヒント」とか「気をつけたいこと」とか「こういうことをしてみよう」みたいな、1日の最初に見てその日の過ごし方の意識付けができるような言葉が列挙されている。
朝テレビでやってる占いコーナーの「今日のラッキーアイテム」みたいな感じかな。もしくは「今日の要注意ポイント」みたいな。

そんなノートがいっぱいあるから、ほぼ毎日見るであろうDaily Noteにその日のヒントになる言葉や文章をランダムで表示したかった。

結論から言うと、これを実現できたのはObsidian Query LanguageっていうプラグインでDaily Noteのテンプレートに書いたコードブロックがこれ。

```oql
name: Hint of a day
query: "path:02_HintOfADay"
template: "list"
limit: 3
sort: "random"
badge: false
```

ここまでたどり着いた経緯はこんな感じ。

「obsidian random note」とかで検索をすると見つかるのは

  • Random note(コアプラグイン)
  • Smart Random Note(コミュニティプラグイン

あたりなんだけど、どれもコマンドでノートをランダムに開く機能で、Daily Noteのテンプレートにコードブロックを置いて毎日ランダムにノートを表示させて確認するような使い方ができない。

そんな中で見つけたのがこの記事。

なるほど、Obsidian Query Languageってプラグインを使うのね。
で、記事通りにコードブロックを作ってみたらなかなか良さげ。
ただ記事にもある通りDaily Noteもリストに出てきちゃう。
プラグインのバグなのかとも思ったんだけど、よく観察したら

query: "~~"

の「~~」での検索はノートのパスに対しても行われるんだけど、ノートの中の文字列に対しても行われてるらしい。
テンプレートにこのコードブロックを書いて毎日のDaily Noteにこのランダム表示をだそうって考えてるわけだから、今後毎日作成するDaily Noteにはこの「~~」っていう文字列が入ることになって、そうなると本来ランダム表示に入ってほしくないDaily Noteが今後どんどん入ってくることになる。

プラグインの公式ページには

query: "'folder1/" 

って書けば「Render a list of 10 random notes in folder1/.」だって書いてあるけど、これは間違いってことね。ノートの中の文字列も検索対象です。ノートの中に「folder1/」っていう文字列があるノートも検索に引っかかります。

ということで調べたのが、queryでパスを指定することができないのかということ。
公式ページのReadMeには

query: path: "'notes"

って書けばパスの指定ができるらしいんだけど、これもうまくいかない。

色々試行錯誤してわかったのは以下。

  • 「path:」もダブルクオーテーションの中に入れる必要がある
  • パスの指定はルートから書く必要はなくてフォルダ名だけでいいらしい

Obsidian内では表示させたいノートは「05_ThemeOfLife/02_HintOfADay」にあるんだけどコードとしては

query: "path:02_HintOfADay"

ということらしい。
情報収集とか試行錯誤でほぼ1日費やしちゃった。

パッキャラマド

日頃よく通る商店街には簡単な街頭放送が流れていて、おそらく有線だろうけど色んなジャンルの曲を聴くことができる。

今日は童謡シリーズ。
「クラリネットをこわしちゃった」が流れてきたんだけど、この曲を初めて聞いてから40年近くおそらく自分は一度も感じたことがなかった「パッキャラマドって何だ?」という疑問が浮かんで即検索。
便利な時代だ。

ぱっと見つかったのはこの記事。

そうか、パッキャラマドはフランス語だったのか。

……となると他にも気になる言い回しが。

「ドナドナって何だ?」

ということでこちらも検索。
便利な時代だ。

この記事によると

ドイツ語で「わが主」を意味する「アドナイ」の短縮形

https://www.worldfolksong.com/popular/dona-dona.html

ということらしい。
今度はドイツ語か。

童謡の頃から世界の歌や言葉に接してたんだな。
音楽で世界はつながっている。

フランス語版のパッキャラマド。