間違って↓みたいな感じで取り込めなくてうんうんうなってた。しにたい
git cherry-pick master..master~5
正解はこう。
git cherry-pick master~5..master
cherry-pick というより複数コミットの範囲指定の方法をわかっていなかったのが敗因。 あと、このときに conflict すると HEAD は現在の branch の内容になる事を忘れてはいけない。ついつい一直線で進む SVN のときの惰性で HEAD を残しそうになるが間違い。
他の人が書いた routes とか昔の自分が書いた routes とか routes.rb 読んでも全然わかんない。 そういう時は↓
$ rake routes
設定されている routes の一覧が出るのでどの controller いじればいいかとか分かる。
↓みたいな感じで css を scss にできるらしい。コマンドの存在自体知らなかった。。
$ sass-convert --from css --to scss hoge.css hoge.scss
これで、 sass に移行する手間が少し減るかもね。 ちなみに、 css2sass っていうコマンドもあるけど次のバージョンで消えるらしいので sass-converter つかうべき。
初めてMakefileとか書いた。一応 Google Closure Compiler 対応。
下記のように Makefile に圧縮するファイルと圧縮後のファイル名を入れる。
JS_TARGETS = jquery.min.js modernizr-2.0.4.js main.js
JS_EXPORT = ../main.pack.js
$ cd js/dev
$ make js_concat
$ cd js/dev
$ make js_pack
# via. http://sixohthree.com/1380/makefile-for-css-and-js-minifycompress
#
# css/js minification/compression makefile
#
#
# CLEANUP -- additional files to delete during "make clean"
#
JS_TARGETS = jquery.min.js modernizr-2.0.4.js main.js
JS_EXPORT = ../main.pack.js
CLEANUP =
.DEFAULT_GOAL := all
all: js_concat
CLOSURE = java -jar ~/bin/compiler.jar
# CLOSURE = /usr/local/bin/closure
CLOSURE_FLAGS =
.PHONY: js
# javascript
# ----------
js_pack: $(JS_TARGETS)
$(CLOSURE) $(CLOSURE_FLAGS) $(addprefix --js=,$^) > $(JS_EXPORT)
js_concat:
cat $(JS_TARGETS) > $(JS_EXPORT)
clean:
rm -f $(CLEANUP) $(JS_EXPORT)
下記を参考に機能を削ぎまくった。感謝。 http://sixohthree.com/1380/makefile-for-css-and-js-minifycompress
よくある clearfix とかの Mixin。
@mixin foo () {
& {
*zoom:1;
}
&:after {
content:"";
display:block;
clear:both;
}
}
.selector {
border:solid 1px #000;
@include foo();
}
↓こうなる。
.selector {
border:solid 1px #000;
}
.selector {
*zoom:1;
}
.selector {
content:"";
display:block;
clear:both;
}
同じセレクターが増えて好ましくないのでこうするのが良いっぽい。
@mixin foo () {
*zoom:1;
&:after {
content:"";
display:block;
clear:both;
}
}
.selector {
border:solid 1px #000;
@include foo();
}
↓こうなる。
.selector {
border:solid 1px #000;
*zoom:1;
}
.selector {
content:"";
display:block;
clear:both;
}
& は凄い便利だけど使い方によってはセレクターが悲しいことになるので注意。
↓こういうコードを書くと。
.box {
h2 { font-size:14px; }
.list {
margin-top:1em;
h2 + & {
margin-top:0;
}
}
}
↓こう展開してほしいけど。
.box h2 { font-size:14px; }
.box .list {
margin-top:1em;
}
.box h2 + .list {
margin-top:0;
}
↓実際はこうなる。あたりまえだけど。
.box h2 { font-size:14px; }
.box .list {
margin-top:1em;
}
h2 + .box .list {
margin-top:0;
}
これなら大丈夫か?
.box {
h2 { font-size:14px; }
.list {
margin-top:1em;
.box h2 + & {
margin-top:0;
}
}
}
と思いきや。
.box h2 { font-size:14px; }
.box .list {
margin-top:1em;
}
.box h2 + .box .list {
margin-top:0;
}
h2 のとなりの .box ってことになっちゃうのでダメ。
結局 box のネストの外でベタなCSS書いた。。
.box {
h2 { font-size:14px; }
.list {
margin-top:1em;
}
}
.box h2 + .list {
margin-top:0;
}
なんかいい方法あるのかな。
元のアイコンを選択
ほしいスタイルを持っているオブジェクトとかを選択する。
スタイルを新規作成
赤枠で囲った部分をクリックすると 3. のダイアログが開く。
何を保存するか選択
元のアイコンが持っているスタイルの何を保存したいか選択する。
スタイルが追加された
パネルに新しくスタイルが追加されたので、スタイルを反映したいオブジェクトを選択して追加されたスタイルのアイコン?をクリックすると反映される。
デザイナーが作成したアイコンを元にちょっとしたパーツを追加したいことがあったのでメモ。
前提:元のアイコンが比較的単純なパスをグループ化した上で属性が設定されている
TODO: グラデーションの情報もコピーしたいんだけどどうやるんだろう。
2011/06/02 13:54 追記:もっといい方法あった! http://hamatag.tumblr.com/post/6098366916
高機能すぎてなにから手をつけていいのか分からないのでとりあえずちょっとした事に使ってみた。
sass —watch するときに ↓ みたいな設定を付け忘れてたり、そもそも 「—watch だっけ? watch だっけ?」みたいなときに compass に設定を任せると便利。
$ sass --watch --style expanded sass:css
※ sass ディレクトリの中の .scss を css ディレクトリに .css として出力する。形式は expanded で。
scss と css が交じるとあんま気持よくないので分ける。
/
shared/
sass/
config.rb
main.scss
css/
こんな感じで設定ファイルを用意する。
[TODO] ここにはもっと色々書けるみたいなので色々動かしながら調べてみる。
css_dir = "../../shared/css/"
sass_dir = "."
output_style = :expanded
line_comments = true
preferred_syntax = :scss
$ cd shared/sass
$ compass watch .
これで諸々上手く行ってれば css ディレクトリに .css ファイルを生成してくれるはず!
ちなみに css ディレクトリがない場合自動で作成してくれる。(権限がちゃんとあれば
config-debug.rb なんてのも見かけたら開発中とかデバグ用のコード仕込むときとリリース用のコード仕込むときとで設定かえたりできるのかもしれない。この辺はそのうち調べる。
っていうか ~/.sassrc みたいなことできればいいのに。