すがブロ

sugamasaoのhatenablogだよ

github に saag をリリースしました

saag とは

HTML/XHTMLを生成するためのマークアップ言語である、 Haml(参考:日本Hamlの会) をインストールするとついてくる CSSマークアップツール、 Sass の編集を補助するツールです。
Sass の説明はSassでCSSの弱点を克服しよう − @IT が詳しいです。
Sass は sass コマンドを用いる事で *.sass ファイルを読み込み、 css ファイルを出力する事ができます。
sinatra 等のフレームワークを用いる事で上記 sass ファイルを動的に読み込んだりもできるのですが、 そうではない場合は、まず Sass で開発し、静的ファイルとして CSS を出力するような運用の方ありそうな気がするんですね。
そんなわけなので、 sass ファイルを監視し、変更があった場合にすぐに css ファイルを生成するツールがあると便利なのでは、と思って本ツールを作成しました。

具体的には

引数で指定した *.sassファイル/ディレクトリを監視し、変更があれば *.css に変換します。ASの開発で使う rascut みたいな感じと言えば良いでしょうか*1
例えば、以下のようなディレクトリ構成の場合に、 /htdocs/css/ ディレクトリに即座に css が反映されると楽じゃね? っていうイメージで。

├─htdocs
│  │  index.html
│  │
│  └─css
│         style.css #<--------- ここに変更が反映される!
└─src
    └─sass
            style.sass #<------- ここが変更されると

インストール方法

gem を使ってインストールします。
gem の sources に github が無ければ追加してから gem install してくださいね。

gem sources -a http://gems.github.com
sudo gem install sugamasao-saag

使い方

オプションは -i と -o と -r があります。

  • -i は監視対象のファイル/ディレクトリを指定します。省略時は実行時のカレントディレクトリを基点とします。
  • -o はCSSに変換したファイルを格納するディレクトリを指定します。省略時は -i オプションと同じ場所を基点とします。
  • -r は sass でのコンパイルオプションになります。「compressed」にすると空白やインデント等が切り詰められます。省略時は nested です。

上記のディレクトリ構成の場合は、以下のようになります。

saag -i /www/src/sass -o /www/htdocs/css

また、動作環境は Mac OSX と WinXP で確認しています。

github のページは

こちらです sugamasao/saag · GitHub はじめての git & github でわけわかんないんですけど、これからちょいちょい体裁は整えて行こうと思います。

あと

アプリケーション起動時に出力されるバージョンが 0.1.0 ですけど、実際の最新バージョンは 0.2.1 です。
何か問題があればコメント等頂けるととても嬉しいです!><

*1:実際のところ、激しくインスパイアしてますw