Compass 導入ガイド
参考: http://book.scss.jp/code/c6/01.html
http://www.webdesignleaves.com/wp/htmlcss/652/
新規Sass環境をCompassで作成
$ compass create --bare --sass-dir "sass" --css-dir "css" --javascript-dir "js" --images-dir "img"
で初期設定作成
config.rb設定
# 追加 no cache
cache = false
# 追加 no map
sourcemap = false
# コメントアウト取る
line_comments = false
$ cd sass
$ vi style.scss
.hoge{
.huga{
width:auto;
}
}
ドキュメントルートに戻る
$ cd ../
作動
$ compass w
結果
.hoge .huga {
width: auto;
}
※ Compass自体の拡張機能使いません。Sassコンパイラーとしてのみ使います。
Rubyの有無確認
$ ruby -v
Sassインストール
$ gem install sass
Sass確認
$ sass -v
gemアップデート
$ gem update --system
Sassアップデート
$ gem update sass
$ sudo gem install compass
確認
$ compass -v
アップデート
$ gem update compass
作業ディレクトリ直下に作成する
$ compass create
作業フォルダ作成したい時
$ compass create フォルダ名
ディレクトリ指定:
$ compass create --sass-dir "scss" --css-dir "css"
デフォルトで作成されるフォルダ
初期自動生成のSass/cssファイルを作成しない > config.rb と sassフォルダのみ生成させる
$ compass create --bare
# パス指定
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "img"
javascripts_dir = "js"
# オプション
output_style = :expanded
line_comments = false
↑ コマンドで上記一発で作成するにはこちら↓
$ compass create --sass-dir "sass" --css-dir "css" --javascript-dir "js" --images-dir "img"
※ (自動生成されたscss / cssファイルは削除しても良い)
圧縮する場合
output_style = :compact
(デフォルトは「expanded)
コメントの表示(基本必要無いのでfalseで)
line_comments = false
画像のクエリ情報の削除
(キャッシュ削除のためのパラメータ(ランダムな数字)が画像パスの末尾追加される、つけたくない場合は以下のように指定)
asset_cache_buster :none
Sassのコンパイル時に Source Map の生成
sourcemap = true
or false
Source Map(ソースマップ):
コンパイル元の位置を示すァイル。Sassファイルの場所を表示。
(必要になった事は無い)
$ compass w
監視フォルダ指定
$ compass w フォルダ名
作業フォルダにて
test:css作成
#main {
width: 600px;
p {
margin: 0 0 1em;
color: #666;
}
}
$ cd scss作成した作業パス
「test.scss」を「test.css」にコンパイルする(同じフォルダ内でコンパイル) $ sass test.scss:test.css
フォルダをまたいでコンパイル(sassフォルダ、cssフォルダが別の場合) $ cd sassフォルダ $ sass test.scss:../css/test.css
例)
$ sass test.scss:test.css --style expanded
#main {
width: 600px; }
#main p {
margin: 0 0 1em;
color: #666; }
#main {
width: 600px;
}
#main p {
margin: 0 0 1em;
color: #666;
}
#main { width: 600px; }
#main p { margin: 0 0 1em; color: #666; }
#main{width:600px}#main p{margin:0 0 1em;color:#666}
ファイル指定のWatch
$ sass --watch test.scss:test.css
フォルダ単位でWatch(同じフォルダ内に)
$ sass --watch
フォルダ内に書き出される
カレントディレクトリを監視 > ディレクトリ内に書き出し
$ sass --watch .
書き出し先を指定 > CSS を書き出すフォルダをコロン(:)で区切って指定
例)「input」フォルダ内の Sass ファイルを監視 > CSS フォルダ内の「output」フォルダに CSS ファイルを書き出す場合
$ sass --watch input:css/output
↑意味:sassファイル 監視 inputフォルダのSassファイルを:cssに/outputフォルダに書き出し
コンパイル結果のファイル作成、ファイル名指定のケース
$ sass --watch input:css/css_src ←新規作成フォルダ名
合わせ技
sass --watch --style expanded input:css/output
$ sass --stop-on-error --watch
.sass-cache
フォルダが作成され、その中に都度キャッシュファイルが作成される。キャッシュフォルダを作らない場合
$ sass --watch --no-cache
キャッシュフォルダを別フォルダに設定
$ sass --watch --cache-location フォルダ名