持つべきものは妙なこだわり

変なところにこだわってこそ、世界が面白く見えるよね

Obsidian 起動時に「(左) 固定ページ + 昨日 // (右) 今日のDaily Note」を左右スプリットして自動表示する設定ガイド

Obsidianを立ち上げた瞬間から Daily note へのメモ書きをスムーズに始めたい。そのために、固定ページ+昨日のDaily Noteを左に、今日のDaily Noteを右にスプリット表示した状態で自動起動する設定を確立した。以下にその構成と設定手順を記録する。これを1つの plugin で実現することが出来ずたどり着くまで苦労したので、参考になる方も多いと思う。

やりたかったこと

私は Daily Notes に「昨日やったこと・できなかったことの振り返り」「今日やることの書き出し」を早朝に行うという習慣を続けている (早朝できなかったら仕事開始時に行う)。このとき、「昨日と今日のノートを左右に並べて比較する」ことが有効だし必須と言ってもいい。

当然ながら「今日」「昨日」は毎日変わるので、これを Core Plugin の Workspaces だけでは実現できないので、手動で開いて左右スプリットしていた。これは非常に手間であり、なんとか自動化したかった。

起動時に実現したい画面構成

Obsidian起動直後に以下のようなウィンドウ構成となることを目指す:

  • 左側 : 固定ページ + 昨日のDaily Note (左側でこれをアクティブに)
  • 右側 : 今日のDaily Note (全体でこれをアクティブに)

3つのプラグインを組み合わせることで、これをようやく実現できた。

使用プラグインと役割一覧

プラグイン 機能概要
Workspaces (Core) 固定ページを表示した状態を startup-pages として保存
Homepage (Community) 起動時に startup-pages を自動読み込み
Commander (Community) 起動直後にマクロ(複数のコマンド)を実行

補足: Commander は特定の静的ページを直接開く操作がやや不得意なため、固定ページ表示は Workspaces + Homepage 側に任せると安定する。


Commanderマクロの構成(スクリーンショット付き)

以下のマクロを作成し、Commander の設定から "Auto-run on Startup" を有効にすることで、起動後に自動実行されるようになる。 順序とDelay時間の調整が重要である。Delayがないと動作が不安定になるため、すべて250ms程度に設定している。

  • Delay: 450ms(初期安定化用)
  • New tab
  • Delay: 250ms
  • Daily notes: Open today's daily note
    • ... 一度「今日の Daily Note」を開くことで、「昨日」を指定することが出来る
  • Delay: 250ms
  • Daily notes: Open previous daily note
  • Delay: 250ms
  • Split right
  • Delay: 250ms
  • Daily notes: Open today's daily note
  • Auto-run on Startup: ✅ 有効化

Commander マクロ構成の上部

Commander マクロ構成の下部

Workspace startup-pages の作り方

以下の手順で、起動時に表示したい固定ページを含むレイアウトを保存する。筆者の場合は "毎日・毎週の習慣メモ" "Obsidian でやりたいこと・できたこと" のノートを固定表示させている。

  1. 固定ページを表示した状態でレイアウトを整える(必要に応じて複数タブもOK)
  2. Cmd + P (mac) Ctrl + P (windows)Workspaces: save layout
  3. 名前を startup-pages など分かり易い名前にする ... 既に有効になっている場合、上書きされるので注意

この名前がHomepageプラグインのデフォルト起動設定と一致していれば、自動で起動時に読み込まれる。

コマンドパレット (Cmd+P / Ctrl+P) で work と打てば workspaces コマンドが出てくる

Homepage

Homepage community plugin では、Workspace として先ほどの startup-pages を指定するだけでOK。 ちなみに、この Homepage plugin でもコマンドを入力できるところがあるが、どうもうまくいかなかったので Commander を導入した経緯がある。読者のやりたいことがこの Homepage plugin だけで出来るなら、もちろんそれでも構わない。

Homepage plugin の設定画面で、Workspace: startup-pages を指定する

起動全体の流れまとめ

  1. Obsidian起動
  2. Homepage により startup-pages(固定ページ)が表示される
  3. Commander によりマクロが順次実行される:
    • 今日のDaily Noteを開く(仮タブ)
    • 昨日のDaily Noteを開く(左に配置)
    • Split Right 実行(右ペイン作成)
    • 右に今日のDaily Noteを再表示
  4. 最終構成完成:
    • 左:固定ページ + 昨日のNote
    • 右:今日のNote(アクティブ)

こういう形↓ で起動するようになり、すぐ Daily Notes にメモを書ける。

起動画面のタブ部分

おわりに

そこまで難しい要求ではないはずなのだが、これを実現するのに試行錯誤があった。他の実現方法があったら教えてほしいし、こういう起動画面・タブにすると Obsidian をより活用できるよ!というアイデアがあればそれもぜひシェアしてください。

関連記事

Obsidian を快適に使う方法を作りあげたら、ブログ記事にしていっているので是非ご参考にしてください。

Google Drive で Vault 同期を行う方法 covacova.hatenablog.com

Dataview でタグ付き分を一覧させる方法 covacova.hatenablog.com