Guard::NanocとPowで快適Nanoc生活

Guard::Nanocで更新を即コンパイルしつつ、Powで確認するという流れ。Powの時点でMac限定でございます。Guard::Nanocはいけるはず。

こないだのNanocとFont Awesomeのサンプルに手を入れて実践してみましょう。

必要なGemの準備

動いている環境から取ってきたものなので余計なものがあるかもしれないけど、だいたい以下のような感じで。

Gemfile
source 'http://rubygems.org'

gem 'bundler'
gem 'rake'

gem 'nanoc', '3.6.4'

gem 'rack'
gem 'rack-rewrite'
gem 'mime-types'
gem 'adsf'
gem 'i18n'

gem 'powder'

gem 'guard'
gem 'guard-bundler'
gem 'guard-nanoc'
gem 'rb-fsevent'
gem 'growl'

そしておもむろにインストール。

$ bundle

Guard::Nanoc

更新を逐次自動コンパイルするにはGuard::Nanocを使うのが主流のようだ。
昔からあったAutoCompilerは公式的にもオワコンとなった。

ちなみに以前はメンテされておらずフォークして手を入れないと使えなかったが最近は問題ない。

Guardfileを以下のコマンドで作成する。

$ bundle exec guard init nanoc

次の行がGuardfileに追加されていればOK。

Guardfile
guard 'nanoc' do
  watch('nanoc.yaml') # Change this to config.yaml if you use the old config file name
  watch('Rules')
  watch(%r{^(content|layouts|lib)/.*$})
end

問題なければGuardを開始。

$ bundle exec guard

Pow

Powのインストールは公式参照。
それが済んだらconfig.ruを用意する。

config.ru
# -*- coding: utf-8 -*-

Encoding.default_external = 'UTF-8'

require 'rubygems'
require 'bundler'
Bundler.setup

require 'rack'
require 'adsf'

app = Rack::Builder.new do
  use Rack::CommonLogger
  use Rack::ShowExceptions
  use Rack::Head
  use Adsf::Rack::IndexFileFinder, :root => 'output'
  run Rack::File.new('output')
end.to_app

run app

powderを使って

$ bundle exec powder link
$ bundle exec powder open

これでブラウザでhttp://nanoc-with-font-awesome-sample.dev/が開いて表示されるはず。

以上。
更新が即時にコンパイルされブラウザをリロードするだけですぐに内容を確認できるようになる。

お好みでLiveRealodなどを追加で入れてもいいかもしれない。

それではよいNanocライフを!