Slim を単体で
Ruby 用のテンプレートエンジンである Slim は、一般には Rails 用のテンプレートとして用いられることが多いようですが、単体で Webページ の静的ジェネレーター(というと大げさかもしれませんが)として用いることができます。
準備
使用する前の準備はいつもどおりの簡単なもので、以下で一発です。
# gem install slim
slim ファイルを書く
あとは Slim の書式に沿って slim ファイルをゴリゴリ書いていけばいいのですが、ここでは動作の確認のために、以下のような簡単なコードを書いてみました。index.slim
あたりで保存しときましょう。ちなみに空行は任意に空けても構わないので、見やすいコードを書きましょう。
doctype html html lang="ja" head title Hello, Slim! body h1 Hello, Slim!
html ファイルに変換する(slimrb)
html ファイルに変換するためには以下のようにslimrb
を使って html ファイルに書き出します。
# slimrb index.slim > index.html
これで同ディレクトリにindex.html
が生成されました。その内容は以下のとおりです。
<!DOCTYPE html><html lang="ja"><head><title>Hello, Slim!</title></head><body><h1>Hello, Slim!</h1></body></html>
html ファイルに改行が入っていない
上記の html の内容を見ればわかりますが、単純にslimrb
を実行した場合に生成されるファイルには改行が入っていません。改行を入れるためには起動オプションを設定する必要があります。その前段階として、slimrb
で使えるオプション一覧を見てみます。
# slimrb -help Usage: slimrb [options] -s, --stdin Read input from standard input instead of an input file --trace Show a full traceback on error -c, --compile Compile only but do not run -e, --erb Convert to ERB --rails Generate rails compatible code (Implies --compile) -r, --require library Load library or plugin with -r slim/plugin -p, --pretty Produce pretty html -o, --option name=code Set slim option -l, --locals Hash|YAML|JSON Set local variables -h, --help Show this message -v, --version Print version
ありました。-p
オプションですね。ちなみにこれは-o
オプションにて-o pretty=true
と指定しても同じことになります。
改めてオプションを付けて実行
それでは改めて-p
オプションを付けて実行してみましょう。
# slimrb -p index.slim > index.html
生成されたindex.html
の内容は以下のとおりです。
<!DOCTYPE html> <html lang="ja"> <head> <title>Hello, Slim!</title> </head> <body> <h1> Hello, Slim! </h1> </body> </html>
うん、いい感じになりました。これで単体で Slim を使う場合もはかどることでしょう。