GitHub Pages, Cloudflare, 11tyに移行

このサイトをさくらのレンタルサーバー上に構築していたMovableTypeからGitHub PagesとCloudflareと11tyに移行した。

MovableTypeは個人的にマークアップの自由度が高くて好きなんだけど、ローカルでテンプレートを開発するのが面倒な点がずっと不満だった。

yarn install && yarn dev で開発が始められ、手元でページごとにLintやValidationを適用しやすくしたいよなーと昨年の秋からぼちぼち作業していて、ゴールデンウィークにまとまった時間を投下しおおよそ移行完了。

11ty

11tyは、ca11y.orgcovid-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もチラついたのだけど、触ったことなかったので検証しなかった。どこかで触ってみたい。


リポジトリを公開するかはまだ悩んでいる。下書きの記事を見られたくないのだ。