このサイトをさくらのレンタルサーバー上に構築していたMovableTypeからGitHub PagesとCloudflareと11tyに移行した。
MovableTypeは個人的にマークアップの自由度が高くて好きなんだけど、ローカルでテンプレートを開発するのが面倒な点がずっと不満だった。
yarn install && yarn dev
で開発が始められ、手元でページごとにLintやValidationを適用しやすくしたいよなーと昨年の秋からぼちぼち作業していて、ゴールデンウィークにまとまった時間を投下しおおよそ移行完了。
11ty
11tyは、ca11y.org や covid-19-act.jp などで採用して使い慣れていたので採用。記事周りに関してはそんなに苦労しなかった。懸念していた「次の記事、前の記事」についてもv11で便利機能があったので、アルファ版を利用してすぐに実装できた。
Next or Previous Collection Item Filters | Eleventy, a simpler static site generator.
ただし、サイトマップやフィード、アーカイブなどのページ構築に関してはMovableType行き届いてるなーっと思うことが多かった。
あわせてURLも拡張子を含まない形に変更した。
当初は変更するつもりはなかったのだけど、無理して.shtml
を維持するのも徒労感があるなと思って変更することにした。変更にあたっては全部入りHTML太郎にお世話になった
GitHub Pages / Cloudflare
ホスト先は最初はNetlifyを考えていた。Netlifyの日本国内でのレスポンスの遅さをカバーするためにNetlifyをオリジンサーバーにしてCloudflareで配信できないかなーと調べてみたら、NetlifyはNetlify CDNの利用が前提で他のCDNとの併用ができない様子。
ビルドをGitHub Actionsで行ってGitHub Pagesにホストし、Cloudflareで配信することにした。そのままGitHub Pagesで配信せずCloudflareをかませたのは単にCDNを使ってみたかったから。
今は手動でパージしているので、そのうちGitHub ActionsでdiffがあるファイルをAPIからパージ的なことをしたい。
Cloudflareに直接静的サイトをホスティングできるWorkers Sitesというのも教えてもらって知ったのだけれど、月額の費用とWorkersで実行したいものもないので見送った。Workersでなにかしたいとは思うけど思うだけ。
Netlifyはプレビューのみ使用している。一瞬Firebaseもチラついたのだけど、触ったことなかったので検証しなかった。どこかで触ってみたい。
リポジトリを公開するかはまだ悩んでいる。下書きの記事を見られたくないのだ。