Nanoc以外の静的サイト生成ツールを調べてみた
最近自分の中で静的サイト生成ツールが静かなブームを呼んでいるのでNanoc以外にも何かないのかなと他のツールを探してみることにした。ついてはWordPressのバージョンアップが面倒になってきたので運用しているもろもろのサイトの移行も考えていたりして。
ポピュラーなツールやライブラリを探すにはとりあえずThe Ruby Toolboxだよね、ということでNanocで検索してNanocの属しているStatic Web Generationをポチ。
けっこうたくさん出て来たが勢いのある上の方のやつだけチェックしてみた。
- Jekyll
- Middleman
- High Voltage
- Nanoc
- Stasis
Jekyll
GitHubで採用されているだけあってダントツのスコア。単にページを作成するほか、ブログ形式でポストを追加していく機能も持っている。WordPress等の他のCMSからの移行ツールが用意されているのは興味深い。試したらイマイチ期待通りに動かなかったけど。
ところで基本のディレクトリ構成を最初に自分で組み立てないといけないのだが、これのせいでちょっと取っつきにくい。自動で作ってくれるようなものはないのだろうか?と思ったらpull requestがあった。けど取り込まれてないみたい。ポリシー的にこういう機能を取り込む気はなさげ?
簡単に試す意味ではチュートリアルとして紹介されているJekyll Bootstrapはなかなか良かった。テーマの仕組みも作れるとは。ともかくJekyllのスタートにはこれ激しくオススメ。
プラグイン機構も持っていてすでに多くのプラグインがある。このユーザーベースの大きさはメリットかもしれない。
参考
Middleman
Middleman: Hand-crafted frontend development
Sinatraベースの静的サイトジェネレーター。
プログラマブルで柔軟性はありそうだが、これにブログを移行するとしたら逆に自分で書くことが多くなりすぎるぽい。
Dynamic Pagesという仕組みはデータを元に静的ページをたくさん作るには便利そうだ。同じようなことはNanocではDataSource、JekyllならプラグインでGeneratorsを作ればできそうだが。
それと出力の加工にRack Middlewareも使えるのは面白い。要はSinatraということなのかな。
参考
High Voltage
thoughtbot/high_voltage GitHub
Rails engineということでRailsとの組み合わせで使うようだ。
Railsのバージョンアップに引きずられて面倒なことになりそうなのでパス。
Nanoc
nanoc: a Ruby site compiler that generates static HTML » home
昨年から使っている静的サイトジェネレーター。
ヘルパーとフィルターをごりごり書けば割と何でもできてしまうので実は不足を感じていない。
Statis
Stasis – Static Sites Made Powerful
基本的な静的ファイル生成に加えて何かフィルター的な処理をしたければプロジェクト直下のcontroller.rbの中でまとめてやるようだ。ある意味シンプル。しかしブログっぽい物を作ろうとしたら相当頑張る必要がありそう。
さて、どれがいいだろう
JekyllかNanocかな。
NanocのバックグラウンドがなければJekyllを選択しただろう。しかしNanocを使い慣れているので積極的に移行する必要性を感じない。
要はMarkdownで書けてちょっとプログラムで出力をいじれたらそれでいいってことなんです。
それがNanocより楽できるものがひょっとしてあったりしないかなと思って調べてみたけれど、思い通りのレイアウトやページ構成にするには結局自分で色々書かないといけないようだ。