今日は義務ではないセミナーの初回が午前からあってちゃんと起きようと思っていたのだが気付いたら14時だった。悲しい。
雨だったので院生室に行く気も起きず、今日は一日オフということにして、家でひたすらこんさんドットコムの改修作業をしていた。
このサイトは永らく Hakyll という静的サイトジェネレータを使って生成されていたのだが、一つのファイルから動的に複数のファイルを生成するとかそういう所の小回りが効かず、困ったなと思っていた。 思っていたので、ちょっと前からHaskellの汎用ビルドシステム Shake を使って少しずつ書き直す作業をしていて、今日はそれを完成させるのに費した。 これによって、以下のようなアドバンテージが得られた:
- 同時に複数のページを並列でビルドで出来るようになった
- キャッシュの粒度を細かくしたので、一つのファイルのキャッシュが壊れてもその全体をリビルドされることがなくなった
- Hakyllはキャッシュがよくわからない形で管理されていて、どれか一個壊れてもどのキャッッシュに対応しているのかわからず、全部消してゼロから再ビルドする必要があるという悲しい仕様になっていた。
- 複数ページ出力の対応。たとえば、このにっきのページが3記事ごとにページ化されたのに気付いただろう。
- Hakyllでも無理矢理書き出し先に何も言わずにファイルを自動生成すれば出来たが、あんまり綺麗にこういうことが出来なかった。
- Hakyllはドキュメントが不親切で、勝手に書き出したファイルの依存関係を管理する方法が全くわからなかったので、馬鹿みたいにリコンパイルが走ったり逆に一巡するまでリコンパイルが起きなかったりした。
というわけで総じて管理しやすくなったのではないか。よかったよかった。 今のところ欠けている機能として:
- ページ単位での clean
- これは Hakyll にもなかったし追い追い
- 削除したファイルの掃除
- Hakyllにもなかったが、まあ履歴を記録すれば何とかなるはずだ
あと折角なので各ページごとにはてなスターをつけた。 星を貰うと喜ぶので星をつけられるひとはください。うれしいなー。
めし
また馬鹿の一つ覚えのようにペペロンチーノを。
今日はふと思い立ってローズマリーをザーッと入れ、いつもよりオリーヴオイルを沢山いれてみた結果味に変化が出て美味しかった。 段々とペペロンチーノから遠ざかっている気がするが、これが私のペペロンチーノです。
明日
- お仕事その2に必要なのではやおき
うたったうた
料理しながら Monty Python “I Like Chinese” をうたった。
40年前にモンティ・パイソンが唄ったときには間違いなく馬鹿にしていたのだが、40年を経て歌詞の意味合いが180°変化してしまった一曲である。