ishkawa

2025-02-20

Obsidianからブログを更新できるようにした

ブログの更新を簡単にするために、Obsidianからブログを更新できるようにした。

自動化の構成

Obsidianプラグインと GitHub Actions のワークフローは自分で実装した。

Obsidianプラグイン

以下のことを実行するコマンドを作成した。

  • アクティブな.md ファイルから参照されている画像を取得する。
  • .md ファイルと画像を Google Cloud Storage にアップロードする。
  • GitHub Actions のワークフローを実行し、アップロードしたファイルのURLを渡す。

GitHub Actions

以下のことを実行するワークフローを作成した。

  • Google Cloud Storage からファイルをダウンロードする。
  • 画像をWeb向けにリサイズし、Exifから位置情報や端末情報を削除する。
  • 結果を GitHub のリポジトリにプッシュしてpull requestを作成する。

利用の流れ

Obsidianでブログを書いてコマンドを実行すると、ブログのリポジトリにpull requestが作成され、Cloudflare Pagesがブランチのプレビューのリンクを貼ってくれる。

pull requestをマージするとブログが公開される。

自動化したかった背景

日頃のテキストはまずObsidianで書くので、ブログもそこに近づけたかった。

Obsidianではプライベートな分報を書いているほか、作業や思考のメモも書いてる。書き途中のメモはルート直下に置いていて、多くても4個程度に収めるようにしている。書き終わったメモ(or 書くのをやめたメモ)は仕分け先のフォルダに入れるという運用をしている。

ブログもこの運用に乗せたいと思って、今回のセットアップをした。MacでもiPhoneでも気軽に書き始めることができて、完成したらそのまま公開するし、完成しなかったらフォルダに突っ込むという流れ。こうすることで、完成しなかったブログも自分のメモとして生き残る。公開できる形に仕上がらなくても、消したりする必要がない点が気に入っている。

Obsidian Publishで良いのでは

それは本当にそう。だけど自分でやりたいじゃんってことで。