ブログを/blogにした

前々からやりたかったことがあって、それは blog.fuku.day にあったブログを fuku.day/blog に移行することだった。正確にいえばGitHub PagesペライチHTMLだった fuku.day をAstroで作り直してブログを突っ込んだ。こういうのはやるとできるのでゴールデンウィーク頭の日にカッとなってやった。

技術が少し変わった

前のブログから見ればAstroを使っているのは変わらないのだが、旧ブログはcontent collectionsが入る前に造営されたものだったので pages ディレクトリに記事のMarkdownが入っていた。Content collectionsというのはMarkdownなどのコンテンツデータをうまく型付けして扱うためのビルトインの仕組みで、Zodでメタデータのスキーマを書くとAstroコンポーネントから利用するときに型がついていてうれしいというやつ。実際便利だ。Gatsbyを使っていたときはfrontmatterのすべてのフィールドがnullableになっていたので難儀したのを思い出す。

fuku.dayにあった歌詞引用くんはAlpineだったのがSvelte 5になった。3秒で書けるようなスクリプトなのでなんでもいい。個人的にまだダサくないと思っているが、気持ちの変化によって上からフッターに移され、またラインナップが変化している。

デザインが変わった

スタイルはもともと <style> 直書きだったのだがTailwindを入れた。色を考えるのはそこそこ面倒だ。Tailwindの思想自体には共感しているんだが、align-*vertical-align になっているのには毎回引っかかっている。

しずかなインターネットのことを考えて行送りも余白もデカめで作ってみた。左にだけボーダーを入れるとかっこいいのではないかと思ってやっている。

トップページは控えめなプロフィール1に加えて妙なトピックとかを置ける場にした。技術的なブログとかおもろなGitHubリポジトリとかを書けるのではなかろうか。

Cloudflare PagesはCloudflare DNSで管理されてないドメインのApexにサイトを登録できない

という罠を踏んだのでCloudflare DNSに移行した。別にGandiから引き止められるようなこともなく、Gandiメール23も壊れていない。ただそれなりに面倒ではあった。

そもそもRFCのなんたらでzone apex (この場合はfuku.day)にCNAMEを置いてはいけないことになっているからプラットフォームが aumyf.github.io みたいにIPアドレスじゃなくてドメイン名で登録してほしそうな顔してるときに面倒だよねみたいな話はあって、Cloudflare DNSでは設定画面上ではあたかもCNAME置けてるようになってるけど実際にはこうあれしていたり、GandiやらではALIASという謎レコードを置くといい感じにあれされるようになったりする。そのへんの都合で妙な体験になっているのを感じる。

もしかしたらGandiからALIAS貼ったら行けるか?とも思ったけどTLSエアプで証明書がどうなるかわからんからやってない。

Hono + Cloudflare Workersでリダイレクト

Webエンジニアとしてリダイレクトしないのは職業倫理的によくないということで正直言えば趣味の個人ブログごときにマジクソめんどくさいのだがやる気が出ていたのでやった。前のブログは複数の規則が並立していて移行でパスを統一したのでかなりprogramaticallyかつ雑にやれるようHonoで適当にガチャガチャしてCloudflare Workersに乗せた(AumyF/blog-redirect)。Hono、JSXが組み込みであって雑にHTMLも返せるのでポイントかなり高い。

Footnotes

  1. さすがにクールだ……

  2. Cloudflare DNSのドメイン登録完了したらメール通知するで~って言ってたんだけどメールアドレスがくだんのドメインだったためわりと危険だった。独自ドメインメールアドレスなんて転送用に使うぐらいでええ

  3. それはそれとしてGandiメール有料化してから毎月更新し続けるのガチでダルいけど移行するのも面倒で何もしてない