r7kamura さんのこのサイトの実装 2020年版に倣って、このブログの実装を書いてみる。
「サイト」じゃないのは、8-p.info は仕組みなどが似ていながらも別れているからで、それでいうと blog.8-p.info のトップにある目次ページも、別のシステムで動いている。今回は /ja/
と /en/
以下の話です。
ホスティング
S3 + CloudFront で静的ファイルを配信している。
Jekyll をはじめて使ったのは2011年だけど、当時の Makefile を確認すると、どこかの VPS の Nginx に rsync していた。S3 を使い出したのは Amazon に転職したあとの2013年なので、我ながらドッグフード1精神がある。
以前はS3 の静的サイトホスティングだけを使っていて、数年前に HTTPS 対応するべく、CloudFront を追加した。
ドメイン
Namecheap を使っている。前はムームードメインで、さらに昔はバリュードメインだったはず。
ドメインをとったのは大学に入って自分のクレジットカードをもった年のはずで、昔はメールアドレスも 8-p.info にしていた。メールサーバーを立てたりはせずに、バックエンドは Gmail に、と思っていたけれど、Gmail の歴史を確認するとつじつまがあわないので、最初はプロバイダのメールアドレスに転送していたのかもしれない。
当時に自分が所属していた、という意識があったコミュニティは Linux 界隈で、ここは自分のドメインをもっている人が多かった記憶がある。
ビルド
GitHub Actions を使って、kzys/blog にコミットしたら、自動的に前述の S3 にファイルをアップロードして、さらに CloudFront のキャッシュを消すようにしてある。
静的サイトジェネレータは Hugo を使っている。
私は2008年から2016年にかけて、毎年別のブログを作るという奇行2をしていたことがあって、セコンさんのリンク集でも、
シアトルのエンジニア kzys。毎年ブログを式年遷宮してる。
と紹介されている。
当初はこれで、色々なブログエンジンをデータの移行を気にせずに試せる! と思っていて、実際に Catalyst 自作 -> WordPress -> Tokyo Promenade -> Jekyll -> Play 自作 -> Jekyll -> Rails 自作 -> Hakyll -> Hugo と色々使った。
ただ、段々と静的サイトジェネレータに落ち着きがちになってきたこと、前述の HTTPS 化にともなう設定項目の増加、子供が生まれてだんだん忙しくなってきたし、というので blog.8-p.info に戻ってきたという経緯がある。
Hugo の設定としては /ja/
と /en/
は完全に別のインスタンスで、テーマだけシンボリックリンクをはって共有している。
デザイン
シンプル。たまに Google Fonts にあるような変わったフォントを使いたくなるし、実際に使ったこともあるけれど、結局なんとなく落ち着かなくて Helvetica Neue あたりに戻りがち。
仕事で HTML や CSS を書くことはなくなってしまったけど、いまだに自分で簡単なものを書くのは好きで、人が作ったテーマに身を任せられないでいる。
あと、Edward Tufte っぽく、横に脚注をつけれるようになっているけれど、あまり使ってはいない。
記事の書き方
Markdown を使っている。
実は nb2hugo を使って Jupyter Notebook を Markdown に変換する仕組みもついているんだけど、Jupyter を使うようなものを最近書いていない。