No Regrets in Bathing

カレーを週に一度食っていく

静的サイトジェネレータ使い比べ

ちょっとしたサイトを作るときの「よっこいせ」感を軽減したいと思った。

というわけで、静的サイトジェネレータをいろいろ使い比べてみる。

選定ポイント

  • gh-pagesへのデプロイが簡単か
  • ワークフローが短いやつがよい
  • 反映速度
  • ローカルプレビュー
  • blog機能は重視しない(はてなでいいじゃん)
  • nodeもしくはgoで書かれていると助かる
  • コード量が少ないと助かる
  • コードハイライト対応可能(gfm対応)

候補

  • jekyll on github
  • hexo
  • hugo
  • jedie

感想

jekyll on github

自動処理してくれるのは嬉しいんだけど、pluginの使用が制限されている。 また、kramdownのgfmオプションも動かなかった。

自動処理は10分くらい待たされるイメージだったんだが、実測してみると、小さなサイトでおおよそ10秒ほどで反映されるようになっていた。

jekyll自体がwindowsで動くか割と微妙なのと、そもそもjekyllのビルドはかなり遅い部類なのが微妙だ。ローカルビルドとgithub pages上のビルド環境がずれそうなのも、はまりそうで危険。

サンプルは以下。

github.com

hexo

templateがないとビルド自体できない。templateをがっつり書くのも大変なので、今回は見送る。

deployコマンドがあったり、cliでのサポートが手厚いイメージはある。vuejs.orgでも使われている。

hugo

hexoと同じ。テンプレートのダウンロードが終わらなくてそこで利用を諦めた。

jedie

mattnさん作のjekyllクローン。_pagesがないとビルドできなかったりと、特定のユースに特化している印象はあるけれど、結構動いている。ビルドは0.01秒前後で終わるので、jekyll比で100倍速ぐらいだ。

subtree経由でのデプロイも含めると、下記のような構成になる。

hashrock-sandbox/jedie-mysite-subtree · GitHub

感想

テンプレート充実とかは、あとあと足枷になるという認識なので、あまりありがたみを感じない。ごりごり書いたほうが結局早かったりするものだ。今回のような雑なサイトをモックするという用途では、marxが便利だった。