stellar という静的サイトジェネレータをつくっていたのですが、名前がモロ被りな gem があったので、nebel と名前を変更しました。
nebel の方は、静的サイト生成に利用するコマンドと、確認用のテストサーバコマンドのみを含んでいて、実際のサイト生成用のテンプレートやユーティリティツールは、nebel-site の方にあります。(Jekyll と Octopress のような関係です。)
使い方は nebel-site の README にまとめてあるのですが、こちらのブログに日本語でまとめておきます。
git clone して、必要な gems を bundle install します。nebel も一緒に入ります。
$ git clone git://github.com/mizzy/nebel-site.git
$ cd nebel-site
$ bundle install
以下のような内容でエントリファイルを作成します。ファイル名は、.md か .markdown で終わっていれば、何でもいいです。
---
title: エントリのタイトル
date: 2012-04-24 18:15:59 +0900
---
エントリの本文。Markdown 記法が使えます。
$ bundle exec nebel
nebel コマンドを実行すると、posts 以下のエントリファイルを処理して、生成されたファイルを public 以下に配置します。また、static ディレクトリ以下のファイルもすべて、public 以下にコピーされます。
以下のコマンドでテストサーバが立ち上がるので、http://localhost:5000/ にアクセスすると、生成されたコンテンツの確認ができます。
$ bundle exec nebel-server
public ディレクトリ以下のファイルを、お好きなサーバにアップロードしてください。
更に便利に利用するためのユーティリティツールも同梱してます。
thor post:create で、エントリファイルを作成します。
$ thor post:create entry-title
と実行すると、posts/2012-04-24-entry-title.markdown といったファイル名で、以下の様な内容のファイルを作成し、さらにエディタで開いてくれます。(ただし Mac のみ。)
---
title: entry-title
date: 2012-04-24 19:25:34 +0900
---
同僚の @banyan が Guardfile をつくってくれたので、ファイルが変更されると自動的に nebel コマンドを実行して、コンテンツを再生成します。
$ bundle exec nebel-server
guard-livereload も利用しているので、ブラウザでの自動リロードにも対応してます。
$ thor server:start
を実行すると、以下の一連の処理が自動的に実行されます。
こんな感じで、かなり便利になった。