これまでJekyllを使ってブログを書いてたけどHugoに移行したという話。Frontend Weekly Vol.0で知ったんだけど、これ見ていいなーって思ったのでやってみた。

これまでのブログ遍歴

Blogger: Webサービスを使うのはよいことだ。最初にはてなを使ってたら僕の人生変わってたかもしれない。

WordPress + さくらサーバー: 僕は若かった。いったい誰が僕のことを責めれようか。いや誰もいない。

Jekyll + GitHub Pages: マークダウン最高w

Hugo + GitHub Pages: イマココ

Jekyllのイヤなところ

遅い！コレに尽きる。上記のように、7年ほどブログを続けていると記事数が450くらいになってた。 jekyll serve --watch して、記事を変更しても体感的に10秒くらいで更新されるような状態だった。ほんの少しスタイル確認したいだけなのに何秒も待たされるのは本当にイライラする。限界だ。

あと、これは別にJekyllのせいじゃないけど、僕の使ってたテーマがRuby 1.9固定だったので、なんでブログ書く度にRubyのバージョンを変えなきゃいけないのか、本当にイライラする。限界だ。

Hugoのスキなところ

速い！コレに尽きる。ほぼリアルタイムで更新されるんじゃないかくらい速い。 hugo server --watch したら、デフォルトでLiveReloadで更新されるのも地味に便利である。移行にあたって必要のない記事を捨てた結果、240記事になった。0.2秒未満で生成される。

$ time hugo 0 draft content 0 future content 240 pages created 0 tags created 12 categories created in 119 ms real 0m0.172s user 0m0.367s sys 0m0.108s

対して、同記事数の生成でJekyllは2.5秒!!

Hugoとくらべて14倍時間がかかってる。

$ time jekyll build Configuration file: _config.yml Source: . Destination: ./_site Generating... done . Auto-regeneration: disabled. Use --watch to enable. real 0m2.458s user 0m1.826s sys 0m0.323s

そんなわけで、やっぱりGolang製は速いなと。HugoはGoで書かれているけどHugoを使う分には別にGoを勉強する必要はない。 brew install hugo でインストールして、Jekyllのようにマークダウンを書いていくだけだ。テンプレートの記法もJekyllに似てるので問題ない。

あと、Jekyllからの移行方法も丁寧に記載されてるし、masterにPushするだけであとはWreckerでgh-pagesにPushしてくれるビルドステップも用意されているので非常に楽である。

問題はJekyllのような生態系が育ってないこと、痒いところに手が届かいない感じだろうか。まぁしかし、それって本当に痒かったのかと開き直れば問題ない。男は黙って記事を書くのみ。トライ&エラーを繰り返せば良いものができる。そのためにスピードは重要なのだ。

みなさんもよかったらどうぞ。