Sublime Text2でSass+Compassでのコンパイルをして勝手にSFTPしてくれる設定をしてみたらハマった

しばらく使ってなかったSublime Text2をまた使ってみようかと思って昨年末から設定をしています。
理由はまあ前回と同じく、Sass/Compassを便利に使いたいから、ということなのですが、今回はより便利にするために自動でコンパイルした後、出来上がったCSSファイルをSFTPで勝手にアップロードしてくれる設定を入れてみることにしました。
しかし、大きくハマってしまい、しかも2回もハマってしまったので、覚え書きとして書いておきます。

参考にしたのはこちらです。
一石三鳥!?SublimeText2とsass/SCSS(compass)+SFTP(FTP)で作業効率化する方法。 | codechord

基本的にはこのサイトの設定そのままです。なので、上記サイトを参考にして下さい。
が、この設定だとなぜかCompassの自動コンパイルが動きませんでした。
そこで以下のファイルを書き換えました。Macの場合です。
“/Users/ユーザ名/Library/Application Support/Sublime Text 2/Packages/Compass/build.sh”
このファイルを次のように書き換えました。書き換えた行は1行です。
[bash]
#!/bin/sh
IFS=`printf ‘n+’`; IFS=${IFS%+}
FILE_PATH=$1;
PROJECT_PATH=${2-/};
COMPASS=`which compass`;
if [ -z "$COMPASS" ]; then
echo "[ERROR] compass not found. Make sure it exists in your PATH.";
exit;
fi
if [ `find "$FILE_PATH" -maxdepth 1 -name config.rb` ]; then
$COMPASS compile "$FILE_PATH" –boring;
FOUND=1;
fi;
while [ "$FILE_PATH" != "$PROJECT_PATH" ];
do FILE_PATH=`dirname "$FILE_PATH"`;
if [ `find "$FILE_PATH" -maxdepth 1 -name config.rb` ]; then
# $COMPASS compile "$FILE_PATH" –boring; #この行を下記のように書き換えました
$COMPASS watch "$FILE_PATH" –boring;
FOUND=1;
break;
fi;
done
if [ -z "$FOUND" ]; then
echo "[ERROR] Build did not run because config.rb cannot be found.";
fi
[/bash]
恐らく、Windowsで動かした場合でも”.bat”ファイルか何かがあると思います。
もし動かなかったら同様に書き換えてみて下さい。
これでとても便利な環境が整いました。
後はプロジェクトの管理や読み出しがちょっとよくないので、もう少しその辺りをチューニングしてみます。
[tmkm-amazon]4844334662[/tmkm-amazon]

Share this post