書いてから開くメモ環境 | メンバー限定記事
デイリーノートの存在確認と意外な発見
はい、マニアックな話をします。まず、以下の記事で紹介したショートカット。
Obsidianのデイリーに追記するのですが、デイリーノートが存在していないとエラーを返します。それは困る。
そこで緊急避難的に先に「デイリーノートを開く」を使い、存在しない場合は作ってからメモを追記するというステップにしましたが、そうするとデイリーノートが存在する場合でも開いてしまいます。あまり美しくはありません。
プログラマ的脳であれば「じゃあ、デイリーノートの有無を確かめてから処理を切り分ければいいじゃない」となります。やってみましょう。
別のショートカットで
とりあえず、違う処理をするので別のショートカットとして作ります。役割が異なるものは分けておくというのが一つの所作です(サブルーチン化)。
だいたい何をやるのかはイメージできているのですが、具体的なレベルはアクションを設置してから考えていきます。
まず必要なのはファイルの有無を確かめるアクションです。いろいろ見ていくと「フォルダからファイルを取得」が使えそうでした。あらかじめフォルダを指定しておき、ファイル名を指定することでファイル情報を取得するということ。ここで取得が失敗するならデイリーノート用のファイルがまだ存在していないことになります。そのときはじめてデイリーを作ればいいわけですね。
「詳細」ボタンを押したら、「見つからない場合はエラー」オプションが表示されました。ショートカットではエラーの例外処理ができないので、エラーが出ると実行がストップしてしまいます。今回のショートカットは「見つからない」ことがトリガーとなるので、このオプションはオフにするのが良さそうですね。
あとは、その日の日付から「2026-01-16.md」のようなファイル名を作り、ここに渡して上げればOK。
まず「日付」アクションで、「今日の日付」を取得します(標準でこうなっています)。「日付」のままだとやたら細かい時刻の情報が返ってくるので、カスタムで書式を設定します。私の場合は「yyyy-MM-dd」でいけそうです(別途調整してください。生成AIに聞くならISO 8601あたりがキーワードになりますが、単に望んでいる書式のサンプルを示して”yyyyみたいなやつでお願い”とでもすればいけるでしょう)。
あとは、「その書式」+”.md”をつけたした「テキスト」を作り、それを最初のアクションに渡せばOK。
ファイルがない場合は、返ってくる値はないはずですので、IF文で切り分けます。「値がない」場合だけ、Obsidianでデイリーノートを開き、そうでなければ何もしない。
あとは前回作ったショートカットの冒頭に置いてある「Open Daily Note」を、このショートカットの実行に差し替えれば「存在しないときだけデイリーノートを開いて作成し、そうでないときは普通にメモする」というショートカットができます。
ちなみに、「Open Daily Note」を使わずに、ショートカット上でmdファイルを直接作ることもできますが、あまりお勧めしません。仮にObsidianで、デイリーノートのテンプレートや保存するフォルダを変更すると、ここでの処理も書き換えなければならないからです。「Open Daily Note」を使っておけば、常にObsidianの設定に揃うのでメンテナンスを考えれば低コストに運用できると思います。
意外な副産物
以上は、「最初に思い描いたコンセプト通りにいかなかったので、できるだけその形に沿うようにアレンジした」という話です。今回お話したいのは、実はそこではありません。
むしろ、Obsidianのショートカット対応が不完全だったことによって得られた新しい知見があるのです。つまり、デイリーノートを開かざるを得ないことは、そう悪いことではないぞ、ということです。







