Brand-new konn-san.com!

konn-san.com を刷新しました。

今まではまあ、ドメインとって旧サイトのデータなどを暫定的に表示しているだけでしたが、この度Hakyll をつかって更新を自動化するとともに、コンテンツを幾つか投下しはじめました。

何があるのか

大体今あるコンテンツは以下の通りです

まあなにぶん思い立って急拵えしたので、内容はまだまだないです。何をおいとくのかは、こちらのブログとの兼ね合いもあるので難しいところですが、多分数学関連の書類とか、昔機関誌に発表した小説・評論とか、まあそういったものになるかと。勉強会のながめの発表資料とかもおそらく konn-san.com のほうに行く。こっちは多分、技術系の記事と時々数学っぽいことを中心に更新することになって、あとは konn-san.com の更新履歴を報告したりとかそんな感じになるかなあ、と。

Hakyll はよいものだ

そうそう、konn-san.com には Hakyll を使っています。これは静的 Web ページを自動的にこうよろしくやってくれる奴です。Jekyll の Haskell 版という位置付け。Markdown なり自分の好きな記法で記事を書いたら、Pandoc とか好きなエンジンで自動的に HTML に変換して、メタデータを付加したりしてくれるという。ナビゲーションバーとか一々書くのも面倒なので、これで自動生成させたりしています。ウェブサーバ自体も Mighttpd2 を使っていて、.konn-san.com へのリクエストは全部こいつを経由するので、結局 .konn-san.com のサブドメインはすべて Powered by Haskell ということになります。

具体的にどういうものなのかわかりづらいと思うので、気になったひとはまあコードを読んでみてください。main のところに、ファイル名のパターンごとに静的ファイルを生成するルールが書いてある訳です。 ここで、Amazon のリンクを自動でアフィリンクに変換したりとか、上部のカテゴリバーとかbreadcrumb(上部の「konn-san.com 建設予定地 / 数学関係を纏めておくばしょ / 超積云々かんぬん」みたいにかいてあるナビゲーションバー)とか自動生成してます。あとなんだ。css とか mathjax の読み込みとかも制御してますね。

そうそう、さいきんバージョンが変わって色々仕様変更になった(Arrow ベースから Monad ベースとか、Hamlet が使えなくなったとか)ので、昔のバージョンを使っているひとは注意したほうがよいですね。

そんな感じです。もう21世紀にもなって生の HTML なんて書きたくないよね〜という感じですし、テンプレをいちいちコピペするのもなーと云う感じで、更新を自動化するのに Hakyll 使うと色々捗ってよいぞというお話でした。はい。