ブログの引っ越しがおわった。
さくらのコンパネで障害が起きてた影響もあって、最終的には3日かかった。
3日で20年分の記事をリプレイスしたら御の字よ。
どこに記事を置こう

さくらは信用のおける会社だ。それはそうだが、記事が全部吹っ飛んだ時に私はなすすべがない。
いや大したこと書いてなくったって20年分あったら愛着もわくんだよ。痛い記事も多いけど。
解決方法としては、マスターを自分のPCに置くこと。且つ、google-driveとかでバックアップを取ること。
でもそれだとネットに載っけておけない。
書き方を考える
ローカルの記事はmarkdownで書く。
markdownで書かれた記事をHugoに食わすとHTMLを吐いてくれる。
いろいろスタイルを整えたりして、ブログの体裁にもできる。
もちろんコメントはできなくなるけど、うちにコメントするのってよっぽどの変わり者だから、まあいいでしょう。Twitterかなんかでたのむよ。
ブログっぽい機能どうする
フックを書くことで、年月別とか、カテゴリ別とかの整理もできる。
記事をいっこ置いたりするたびに、日付的に前後の記事を見つけてリンクしたり、記事のカテゴリとか年・月を集約してインデックス作ったりしてる。
こいつはけっこうな力技だけど、相手すんのがせいぜい2000ファイルのテキストだから、あんま困んない。
あとは画像をどうたらとか、サムネを置くときのルールを定めたり。
このへんはどっちかというとobsidian側の環境設定の話になってくる。
こういうルールで画像をおいたら、ビルドの時にこうするねみたいな連携を作っておく。
反映
markdownで書いた記事はgitで管理することにした。
記事書いて、git add , commit, pushと、普通のプログラマが普通にやる動作で記事の反映をする。
リポジトリが更新されると、接続してあるCloudFlareがブログサイト丸ごとをビルドして、Cloudflare Pagesにデプロイする。
Cloudflare Pagesのサイトは、さくらのDNSから「あっちいけ」って設定を入れてあるので、いままでと同じURLで新サイトに飛んでくることができる。
技術スタック
| レイヤー | 採用技術 | 役割 |
|---|---|---|
| 執筆 | Obsidian + Templater + Paste image rename | Markdown執筆、新規記事テンプレ自動生成、画像ペースト時の自動リネーム |
| サイト生成 | Hugo (extended) | Markdown → 静的HTML。テーマは既製品を使わず自前実装 |
| ソース管理 | Git / GitHub (private, SSH) | コンテンツ・テーマコードのバージョン管理 |
| ビルド・ホスティング | Cloudflare Pages | pushを契機に hugo --gc --minify を実行し配信 |
| DNS | Cloudflare DNS | 独自ドメインのサブドメインをCNAMEでPagesに接続 |
| インフラ管理 | Terraform | Pagesプロジェクト・DNSレコードをコード化。state は Cloudflare R2 |
| 移行ツール | Python (標準ライブラリ + bs4 + Pillow) | WordPress WXR → Markdown変換、画像最適化 |
