ブログテーマの移行
これまで: fuwari
これまでこのブログはFuwariテーマを使って開発していた。
fuwariはとても美しいテーマで、実用上はほとんど不満はなかった。
ただ、すでに開発が止まっており機能面ではやや発展途上感が否めない。
これから: Shirone
開発の止まったfuwariからforkしたテーマとして、Mizukiがある。
そのうち移行しようかな~と思っていたが、久しぶりに見に行ったらMizukiを全面的にリファクタリングした後継バージョンShironeが公開されていた。
少し弄ってみたところ、これが非常に良い。オリジナルのfuwariからコードが大幅に整理されており、AIエージェント向けのスキルやドキュメントも整備されていて弄りやすい。
fuwariと比べて非常に多機能かついらない機能は無効化すれば無駄なDOMやリクエストは一切発生しない。
さらにテーマコードとコンテンツを別々のレポジトリで管理するdual-repo構成(任意)が公式にサポートされている。
移行作業
Shironeもfuwariベースなので、投稿ファイルの配置は同じだし記事のURLも変化しない。 導入ドキュメントが整備されているので、基本的にはそれに従って作業すれば問題なく移行できた。
レポジトリはテーマコード用とコンテンツ用のdual-repo構成とし、テーマコードレポジトリをCloudflare Pagesに紐づける。
コンテンツレポジトリのGithub workflowにビルドをトリガーするactionを設定し、このactionの中でPagesのデプロイフックを叩くようにする。1
これでテーマコードのpush時とコンテンツのpush時の両方で自動的にPagesのビルドが走る。
フォント配信について
Shironeにはビルトインのフォント最適化配信システムがある。
具体的には、ビルド時にサイト内の全テキストを収集し、必要な文字のフォントのみ抽出するfont subsetting処理が実装されている。
同一オリジンから必要な文字だけ配信するので、Google Fonts等からリモートで読み込むのに比べて圧倒的に高速だと思われる。
しかし、本ブログではこの機能は使用せず(Shironeのフォント設定を完全無効化)、Cloudflare Fontsで配信することにした。
mode: systemfontFamilies: []これは今回、クライアントサイドでレンダリングするコメントシステムを実装するため。
当然ながらビルド時に行われるサブセット化ではビルド時のコンテンツテキストしか考慮されないため、後から動的に表示するコメント内容のフォントが欠落する可能性がある。
Cloudflare Fontsでもunicode-rangeによるサブセット配信は機能するし、同一オリジンから確実にキャッシュ配信されるので速度的には全く引けを取らないはず。
テキスト量の少なめな完全静的サイトとか、Cloudflare Fontsが使えない環境ならShironeのフォントシステムは超強力だと思う。
コメントシステムの実装について
別記事で公開予定。
おわりに
さて、ここまでやっておきながら見た目はfuwariの時とほとんど変わりない(笑)
でもfrontmatterのseriesから同じシリーズの記事を一括でリストにできたり(左メニュー参照)、とても便利な機能が多数追加されてます。
Shirone、超おすすめです。
Footnotes
-
公式ドキュメントではコンテンツレポジトリからテーマレポジトリのビルドをトリガーする設定があるけど、Pagesの場合はいらないかも。 ↩
記事をシェア
シェアカードを生成するかリンクをコピーして、みんなと共有しましょう。
続きを読む
別のルートへ
ほかの記事から一貫した基準で選出
最終更新日: (0日前)
一部の内容は古くなっている可能性があります
コメント