Obsidian Publishをやめた。高いから。

昨年末のObsidian Advent CalendarではObsidian Publishにそれだけの価値があると言っていた人間がこうも簡単に手のひらくるりんしていいのか?というツッコミはあるだろうが、やはり静的サイトホスティングに$8 ≒ 1,280円/月1は割高感が否めない。せめて$4であれば…。

参考としてさくらのレンタルサーバーは500円/月だし、やれることや物価高を考えてもちょっと取りすぎじゃないですかね…というところもある。それにクラウドサービスで遊んでいる人間にとってはほぼ0円で運用できるソリューションのあてはあるので、代替案があって安く運用できるならそうしたくなってきた。

Obsidian Publishの年間サブスクリプションのキャンセルについても調べてみたが、1年間のライセンスを購入する形なので、自動更新をキャンセルはできても途中返金はできない。しかしこういうものは思い立ったが吉日なので、せっせと進めることにした。どうせ先延ばししても間に合わなくなったり忘れていたりして、また来年分も購入してしまうのだ。

必要なもの

  • Obsidian Publish 用のVault
  • Claude Code
  • Quartz
  • QuickAdd
  • AWS (CloudFront / CloudFront Functions / IAM / Route 53 / S3)

おそらくこれは「やるだけ」の話なので、最初からClaude Codeにブン投げてしまっている。先にS3とCloudFrontで静的ホスティング環境だけ作ったあとに、デプロイ用のユーザーをIAMで作成して権限を付与している。

QuartzなるものでMarkdownをHTMLに変換してS3にアップロードする仕組みにしたのだが、まともに表示できるようにするための導入から、見栄えの調整までClaudeとの対話で終わらせている。現在のpublish.cssを与えて同じデザインにして、で十分だった。

デプロイ用のコマンドを作るように指示をしたら、最初にShell Commandsプラグインを提案されたが、開発が終了していたようでTemplaterを提案された。しかし、それも思い通りに動かなかった2ので、最終的にQuickAddになった。マジな話、私はこれがなにをするものかはわからない。

Obsidian Publishとの違い

Obsidian Publishはファイル名の大文字小文字を維持するが、Quartzでは維持しないようだ。個人的には小文字に正規化してくれたほうが嬉しいので特に気にしていない。

一番の問題はQuartzのビルドが遅いことと、私の環境だとデプロイ完了まで1分30秒ほどかかることだ。Obsidian PublishはMarkdownだけプッシュすれば即時反映されるので、この手軽さはサービスの価値として認めざるを得ない。

とはいえ流石に待ちきれないし、それをどうにかするのもClaudeにやらせればいいので、S3のコンテンツハッシュを確認するようにスクリプトを書き換えさせて差分更新ができるようにした。であっても40秒くらいかかるので、同じ使用感にはならないことは注意点として挙げられる。

検討した記事

今回の移行作業をする前に先行事例がないかちょっと調べてみたら、ZennにGitHub Actionsを利用した静的ホスティングの記事があった。

やりたいことを実現できればいいのだが、細かく修正するかもしれないファイルに対していちいちGitで管理するのは煩わしいようにも感じられたので採用は見送っている。

お無料デジタルガーデン

というわけで、私のデジタルガーデンはお無料様となった。実際にはS3とCloudFrontのデータ通信費用がかかるが、それでも100円は行かないくらいのはずだ。あと4ヶ月分くらいのObsidian Publishの費用が無駄にはなるが、それはまあ仕方ない。

ヤンパ♫

Footnotes

  1. $1 = ¥160とする。

  2. ノートがアクティブでないとデプロイできない制約がある様子。