Obsidianのノートをgitで管理するためにObsidian Gitプラグインがあるが、自分の用途としては、
$ git add .; git commit -am "hogehoge"; git push
ができれば良く、プラグインを使うまでもない。
また、環境的にちょっと特殊なこともあり、代替手段を考えた結果、Alfredのワークフローを作成することにした。
cd PathToVault
d="commit from Alfred: $(date +"%Y%m%d%H%M%S")"
git add .
git commit -am $d
git push
pushというキーワードをトリガーとしてzshで上記のスクリプトを動かすだけ。必要十分であった。細かな何かをしたい場合は、コマンドラインからgitコマンド叩けばいいし。
以下、蛇足
このサイトはQuartzというツールでObsidianのノートを公開するという、ちょっと変わった使い方をしており、
- QuartzのフォルダはGit管理されている
- Obsidianの保管庫はQuartzのフォルダ配下に存在する
という状態になる。
graph TD quartz[Quartz] --> .git[.git] quartz --> ファイルA[ファイルA] quartz --> vault[保管庫] vault --> ファイル1[ファイル1] vault --> ファイル2[ファイル2] style vault fill:#f8d7da,stroke:#f5c2c7,stroke-width:2px
ObsidianのObsidian Gitプラグインは保管庫の配下に.gitフォルダが存在することを前提としているため、この保管庫を開いた状態でプラグインを適用してもCan't find a valid git repository. Please create one via the given command or clone an existing repo
というエラーになり動作しない。
プラグインのオプション指定でなんとかなりそうな気もしたが、前述のように限定的な使い方しかしないこともあり、調査をやめてAlfredのワークフローで解決した次第。