gumistudy#15 How to Automate Tasks grunt.jsを使ったタスク自動化
- 3. :Ÿ ¡̃^Š”ô çà èØoìŽ
grunt »
gumi »grunt³ t∙q³›–−v
^Š”gruntRRìŽ̋v
- 5. )åa qk aweb¼ö ÍßÓ ” áÞawÒ—œ¶o
Backbone.js¶∙JS”MVCô ߊ ßË
SMACSS¶∙&|oCSSŁSÊ
- 12. GRUNT”ïßÔ •fio–gumi »2013 7j‚v”^&⁄v0.4.1 ³³i
0.3Kvœ0.4K v¶ßNòw‾›–o−” Ÿ ä
©–¶oö ̾ »³s¶v›¤ß|—¡ ìáçö”
̂oÏßè»Ó²
̨ : grunt/grunt Upgrading from 0.3 to 0.4
- 14. cw x−”̇
ÜÕËÀ°ì)³Ł1ô¹¾ Gruntfile.(js/coffee)•̈o–
Ïþ è
×s sass(compass)”Ï ð¾ “›¤œ»
#Gruntfile.coffee
module.exports = (grunt) ->
config =
compass:
debug:
options:
environment: 'development'
release:
options:
environment: 'production'
grunt.loadNpmTasks 'grunt-contrib-compass'
grunt.registerTask 'compile', 'compassコンパイルをするよ (DEBUG)', [
'compass'
]
$ grunt compass:release
- 16. ² » c”ÜÕ˳— Ł–Ñ̃• ¡−
Zî”ô¹¾ ”Nò³{−|–Šø ÜÕË
#release task
grunt.registerTask 'release-compile', 'sassのコンパイルをするよ (RELEASE)', [
'checkConflict' //コンパイルするファイルに未解消のコンフリクトがないかチェック
'clean:sass' //sassの一時ファイルを削除
'compass:release' //コンパイル
'clean:css' //古いcssを削除
'lightpng' //リポジトリに追加された画像を圧縮
'copy:sass' //アプリケーションのフォルダにcssをコピー
'csso' //cssoで最適化
'resizeImage' //画像のリサイズ
'cssImage1x' //android用のcss生成
'growl:sass' //おわったらgrowlで通知
]
$ grunt release-compile
- 21. qxz)¦–
coffee/scss”Ï ð¾ iÜÕË
öl•ô^¡−pł |¤ÜÕË
•)v©−
×s ß̋∙Øu¢£|¤ ßÕi•scss³Ï ð¾ ¡
−ÜÕË
#release task
grunt.registerTask 'release-compile', 'sassのコンパイルをするよ (RELEASE)', [
'checkConflict' //コンパイルするファイルに未解消のコンフリクトがないかチェック
'clean:sass' //sassの一時ファイルを削除
'compass:release' //コンパイル
'clean:css' //古いcssを削除
'lightpng' //リポジトリに追加された画像を圧縮
'copy:sass' //アプリケーションのフォルダにcssをコピー
'csso'
//cssoで最適化
'resizeImage' //画像のリサイズ
'cssImage1x' //android用のcss生成
'growl:sass' //おわったらgrowlで通知
]
- 25. git ls-tree ýÔç 唫(”îáә߳<À
gp³}=|–json•|–ZB
$ git ls-tree -r HEAD
{
'foobar1.png':{ 'hash' : 'e1456604d111dd4' },
'foobar2.png':{ 'hash' : 'u12358fffgs84jc' }
}
- 26. json ‚v”îáә߳̋Ó¡−
ò&©¤ô¹¾ w°v−” əߕ‾©– ̃
oqÜÕ˳¢ß—|¤
#画像をミニファイするメソッド
minify = ->
file = queue.shift()
unless file
_end()
return
steps = [
->
_exec "./tools/bin/lightpng #{file} -32i #{file}",()->
_next steps.shift()
,->
_next minify
]
_next steps.shift()