本ホームページを自力SSGに移行しました。
これまではAstroでSSGしていました。 特に深い理由はないのですが。 不要なファイルがあるのが不快に感じるタイプの器の小さいプログラマなので、ts.config.jsonを安全に消せないのが嫌になったので、いっそ自力でSSGしようと思った次第です。
かつて、自力SSGしていた時代もありました。 PHPのときもありましたし・C#のときもありました。 そのときは知識も技術もなく、学習目的もあったため、かなり杜撰で・遠回りをしていました。
今回はRustでSSGプログラムを組んでいます。
大方のページをMarkdownで記述し、
markdown-rsでパースし、
数式はkatex-rsでKaTeXに変換し、
コードはsyntectでハイライトしています。
移行に伴って、色々変えました。 例えば、外観デザインをかなり大きく変えました。 かつては、はてなブログのいちテーマを模倣していましたが、背景の黒色が目の邪魔に感じていたため、NoteとZennを参考にして白色を基調とするものに変えました。 些細なパフォーマンス向上を意図してWebフォントを廃止したため、Windowsで見ると文字が汚いのですが。 それがMicrosoftの選択だというのなら。
また、Scrapsを追加しました。 ZennのscrapよりはCosenseに近い運用を想定しています。 記事にするほどでもない・誰でも知れるけど誰でも知っているわけではないtipsを雑に投稿する感じです。
2025年12月7日現在(実は誕生日)、未実装の機能としてOGPのdescriptionを自動で設定するというものがありますが、 descriptiptionを自動設定するのか、画像を自動生成するのが良いのか、考えあぐねています。 後者を採用するなら、CD時に生成するのが良いんですかね。 すべて生成していたらCD時間が長引きそうなので、キャッシュしようか……。
本ホームページのリポジトリはこれです。 比較的綺麗に設計できたので満足しています。
■