個人ホームページを移転・新設した

過去,同様の目的のサイトを下記の構成でホスティングしていた:

  • 静的サイト生成: Zola
  • 自動ビルド & ホスティング: Netlify
  • ドメイン: Squarespace (旧 Google Domains)

ドメインの登録事業者がいつの間にか Google Domains から Squarespace に移行していたり,何となく更新モチベが落ちていたりで,とりあえず現状打破の一環で全体の構成を見直すことにした.


初手としてはやはり見た目の部分を変えたかったので,かなりエイヤではあるが静的サイト生成の部分に blogc を投入することにした.

これは HTML テンプレートにコンテンツと各種設定ファイルを流し込み HTML を生成するだけのいわゆる普通の静的サイト生成ツールではあるが,なんと C で書かれている.ちなみに Jam Stack で C 製の静的サイト生成ツールを探しても 2023/11/17 時点では 3 件しかヒットしない.何とも言えない C と Web フロントエンドの食い合わせの悪さ.

しかし,筆者はこういう技術に C を選定する価値があると信じている.それは,

  • 言語仕様の素朴さからくる制約で,一定以上の複雑性をもたらさない
  • ビルドツールの仕組みさえ分かっていれば実行環境をポータブルにするのが容易
  • C なので Rust へのリライトがそれなりに容易(重要

という点でである.


CSS のサポートはそれなりにしっかりしており,デフォルトではおそらく https://bootswatch.com/flatly/ のクローンが用いられている.

blogc は素朴なので,例えば localhost で試しに表示する場合にもホットリロードが効かなかったりするが,いざというときには手作りする精神でやっていこうと思う.他にも,コンテンツが Markdown ではなく独自仕様マークアップ言語なのもまだ慣れない.そもそも(ちゃんと SemVer かどうかを確認したわけでもないが)メジャーバージョンリリースを迎えていないというのも少し心配になる.しかし,こうした問題は,使う側に一定以上の複雑さをもたらさない限りにおいてチャンスだと捉えている.


かつて自動ビルド & ホスティングに利用していた Netlify は,本家の便利な Netlify 設定ファイル群 のおかげで問題なく使用できている.特に Pull Request 上でプレビューを出してくれる Deploy Preview という機能がありがたい.

ただ,GitHub Actions の仕組みを上手く使えないかとか,少しでもパブリッククラウドに寄せた運用にするためにホスティングだけは AWS S3 を使えないかとか,そういうことは今後も考えていくと思う.もし AWS を使うのであればドメインも AWS の方が良いという話もきっと出てきそう.