気まぐれメモランダム / でたらめフィードバック

Eleventyに移行

公開:

本ブログの構築・稼働環境をBoothCMS on Microsoft Azure App Service Web AppsからEleventy on Microsoft Azure Blob Storageに移行しました。機能の確認は行いましたが、無駄に長期間運用しているサイト故思わぬ問題が潜んでいるやもしれません。おかしな点に気づかれました方はお知らせいただければたいへんありがたいです。

今回フラットファイル CMS から静的サイトジェネレーター(SSG)に移行した理由は次になります。

App Service Web Apps のプランアップグレードは費用面から現実的でなく、ホスティングサービスの変更も面倒、かつサーバーのお守りからもそろそろ手を引きたいので、サーバーサイドで稼働する CMS と手を切ってコストダウンを図ることにした次第です。

Eleventy 選定の理由は、JavaScript ベースかつ BoothCMS で採用したテンプレートエンジンTwigとほぼ同じ文法のNunjucksが利用できるから、という割と消極的なもの。Gatsby もちょっと触りましたが、1 から構築するのであればともかく、大量の既存コンテンツを移行するのはたいへんだということで早々に採用は見送りました。
目論見通りテンプレートの変換は比較的順調に進みました。ただコンテンツとレイアウトの境界が時にあいまいになる Eleventy の仕様には疑問がないわけではないです。

BoothCMS では当初YAMLのドキュメント終了行(...)の後ろにMarkdown(リンク先は CommonMark)を続けるというフォーマットを採用していて、これはほぼ YAML Front Matter と同じですが(BoothCMS ものちに YAML Front Matter に対応)、拡張子や区切り文字が異なるためそのままでは Eleventy では利用できません。Pico初期バージョン用の C スタイルコメントメタデータ記述も残っていたので、Rust で雑に変換ツールを書いて一括で変換しました。Rust のよい勉強になりました。

機能的には一覧の「続きを読む」をあきらめてすべて一度リストアップするようにしました。まあいまどきのクライアント環境であればそれほど問題にはならないでしょう。一覧を見ている人もほとんどいないはずですし。
その代わりと言ってはなんですが、一覧に画像が表示されるようになりました。

課題はいろいろ残っていて、Vue.jsは 3 にアップグレードできませんでしたし(違いをはじめてちゃんと見ましたが、HTML に付け加えるかたちでの運用はもうむずかしそうですね)、Material Design Liteも剥がせていません。まあ最大の課題は解決できたので、残りはおいおいということで……振りかえってみるとだいたい四年周期で移行しているので、四年後にまた動きがあるかもしれません。

あ、ツイッターやグーグルサーチエンジンの Widget の埋め込み方法が以前よりずいぶん簡素化されていてびっくりしました。たしかにいまどき生のスクリプトを埋め込めというのは親切じゃないですもんね。

関連コンテンツ

Pick up work

最近のエントリ

アーカイブ

ブログ情報