起動時にCommanderのマクロが使えるなら、Boxesを呼び出せるんじゃないか。 それってブログっぽい。 別にBoxesでなくてもMOCでもいいし、特定のファイルが入口になるの面白いよなあ。 何か画像をバナー風に貼り付けてオシャレにしてもいいし。
世の中そういう妄想で出来ています。
OpenFile.md
Templaterスクリプト。 変数fで指定したファイルを開きます。
<%*
f = "dataview/Boxes.md"
p = app.vault.getAbstractFileByPath(f)
app.workspace.activeLeaf.openFile(p)
%>
Templaterの設定で「Template Hotkeys」に登録してください。
Commander Macros
CommanderのMacrosを開き「Add Macro」で「Templater: Insert OpenFile.md」を追加します。 「Auto-Run on Startup」にチェックを入れる。
これで、起動時にBoxesが開くようになります。
実行例
一行目にUnsplashの画像を埋め込んでみました。 dataviewの前後はただのテキストエリアなので、Markdownで画像リンクを書くだけです。
ホームページをリーディングビューにすると、開かれたリンクもリーディングビューになります。 ところがホームページをピンどめしていると、リンク先は別タブで開いて編集モードになる。 これだとすぐに執筆に移れる。
どちらかというと、ピンどめのほうが好みかな。 お好きな方で。
ホームページ
何か仕事を抱えているときはリンク集を作ってもいいかもしれない。
原稿の下書きを書くたびに、そのホームページにリンクしておく。 忘れてはいけないことはチェックボックスにし、相手のあることなら連絡先も書いておく。 ハブとして機能するページを起動時に開く。
MOC(map of contents)の基本形はこれかなあと思う。 海外のサイトを見ると、凝った作りのMOCが紹介されているけど、あれは使いにくいだけだろう。
ピンどめしておけば、わざわざ起動時に開く意味はないかもしれない。 ただ今回のスクリプトを使うと、ホームページが他のファイルで隠れていても起動時にフォーカスが移るようになります。 それも悪くない。
まとめ
本当はBoxesでファイルの内容を表示したいのですが、中身を読み込もうとするとdataviewがエラーを吐くので、未だ成功していません。 非同期回りは難しそう。
再考
ショートカットで構わないように思えた。
URLスキームでObsidianを開きます。 これだとややこしい設定は要らないし、すでに起動していてもホームページを呼び出せます。
と思ったら、ピンどめしたとき、新しく起動するとBoxesが二重になって白紙になる現象が起こりました。 ピンどめが原因らしい。 これは困った。
追記
ホームページだし、Boxesの先頭に下記スクリプトも追加してみた。
>[!example]- tasks >```dataview >task where !completed group by file.link >```
デイリーノートなどにある、未完了のタスクを一覧表示します。
最近物忘れするようになったからなあ。 思い出すトリガーが大事。