だいぶ暖かくなってきたが一日家にいたのでサイトを作り直した。

今までは生のHTMLを書いてSNSリンクを貼ってるだけの無味乾燥なページだったけどastroを使って作り直した。
https://astro.build/

去年挙げた結婚式のWeb招待状もastroで作ったんだけど、それなりのものはチュートリアル読めば割とサクッと作れて、少し複雑なことしようとするとちゃんと調べる必要があるという感じ。とりあえず今のところはそんなに苦労してない。

ホスティングはCloudflare。GitHubでリポジトリ管理していて、更新されたら自動でCloudflare Pagesにデプロイするとか、Cloudflareで取得したドメインの設定とかがめちゃくちゃ楽で便利。

そしてこれを機にブログも直接ここに書くことにした。

今までのはこの2つ。
bloggerに日記とかメモ、はてなブログにITというかテックブログ的な内容、みたいに使い分けてたけど今回まとめることにした。

どちらも大したこと書いてないとはいえ作ってから10年以上経っていて、それなりに思い入れがあるので過去の記事データをエクスポートして持ってきた。

bloggerから移行した記事には pensieve、はてなブログから移行した記事には tech というタグを付けています。
pensieveについてはハリーポッターを参照してください。私にとってそういう用途のブログだったということです。
あとどちらも旧ブログから移行したものなので archive タグを付けた。今後の記事には付けません。

まだちょっと気に入ってないところがいくつかあるので、庭木の剪定みたいな気持ちでちょっとずつ直しながら楽しくやろうと思います。

データ移行どうやって?

興味のある人向け。

bloggerは管理画面からxmlを落として、 palaniraja/blog2md でmarkdownに変換した。
このツールは特に日本語対応とかされてないのでそれ起因のエラーが出るんですが、ログ読んで一部実装を書き換えながら何度か実行したらうまくいった。記事タイトルをファイル名に使うために正規化するあたりでエラーになります。
あと年・月単位でディレクトリ切ったりしてくれないので、ディレクトリ構成をそのままURLに使う都合上、投稿日の値をもとにディレクトリ作るみたいな処理も書いた。

はてなブログも管理画面にエクスポート機能があるんだけど、MovableType形式なので扱いづらく、以下の記事を参考にした。

はてなブログを「blogsync」でコマンド一発バックアップ

これなら YAML Frontmatter形式のメタデータ -> 本文 みたいな扱いやすい形式のファイルが吐き出されるので割と簡単にastroにデータを持ってくることができます。 たぶんメタデータ書き換えるだけなので記事数が少なければ手作業で書き直せるレベル。まとめて置換するとかでもそんなに大変じゃないと思う。

一応ピンポイントにこういう記事もあったけどPythonに慣れておらず諦めた。
はてなブログからエクスポートした記事をAstro Blog用のマークダウン形式に変換する
こっちのやり方でもいけると思います。