ブログをMiddlemanからHugoに移行した

ブログを割とほったらかしにしていてずっとどうにかしたいな〜と思ってたので少し手を入れた。本当はMiddlemanのままでHTML/CSSを自分でコーディングしようかなと思っていたのだけど、Middlemanがメジャーバージョンがあがっていてバージョンアップを頑張るぐらいなら今ならもっといいシステムがありそうだよなぁということでやめた。

Hugoにしたのは、ちょっと試してみてさすがにビルドが速かったのと、markdownの記事がほとんどそのまま移行できるから。と言っても最近のこの手の静的サイトをビルドする系のツールは大体markdown対応してるとは思うけど。

ちょっと苦労したのはHugoにFront Matterというものがあって、そこに記事の作成日やタイトルをメタ情報としていれるんだけど、Middlemanで使ってたmarkdownにはdateの情報がHugoでパースできなかったりそもそも入っていなかったりした点。

日付情報がないと記事の並び順がおかしくなるので、golangでmarkdownのファイル名からFrontMatterに作成日を入れるスクリプトを書いた(幸いファイル名に日付を入れるようにしていた)。普段ならRubyで書いちゃうけど最近はgolangに興味があるのでなるべくgolangで書くようにしている。

あとはURLが/2017/02/21/hugoだったのが今回の移行で/posts/2017/02/21/hugoになったのだけど、Front MatterにAliasesというのがあって、旧URLから新URLにリダイレクトする仕組みがあったのでそこもなんとかなかった(これもgolangでaliasesを埋め込んだ)

というわけで、今までひどいデザイン状態で放置していたブログだけど、最低限みれるようにできた。