Skip to content

Instantly share code, notes, and snippets.

@44uk
Created September 8, 2013 07:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 44uk/6482650 to your computer and use it in GitHub Desktop.
Save 44uk/6482650 to your computer and use it in GitHub Desktop.
Gruntfile.coffee を書いてみた
# grunt install grunt-contrib --save-dev
# grunt install grunt-bower-task --save-dev
'use strict'
excludes = [
'!**/.DS_Store'
'!**/Thumbs.db'
'!**/*.coffee'
'!**/*.map'
'!**/*.scss'
'!**/*.sass'
'!**/*.less'
'!**/coffee/'
'!**/sass/'
'!**/less/'
'!**/_notes/'
'!**/.idea/'
'!**/.gitignore'
'!**/*.mno'
'!**/Templates/'
'!**/Library'
'!**/*.dwt'
'!**/*.lbi'
]
module.exports = (g) ->
pkg = g.file.readJSON('package.json')
g.initConfig
bower:
install:
options:
targetDir: 'src/vendor/<%= dir.js %>/'
layout: 'byType'
install: true
verbose: false
cleanTargetDir: false
cleanBowerDir: false
dir:
src: "src"
build: "build"
js: "assets/js"
coffee: "assets/coffee"
css: "assets/css"
sass: "assets/sass"
img: "assets/img"
bower: "bower_components"
clean:
build:
src: [
"<%= dir.build %>/<%= dir.js %>/*"
"<%= dir.build %>/<%= dir.css %>/*"
"<%= dir.build %>/<%= dir.img %>/*"
]
imagemin:
assets:
optimizationLevel: 3
files: [
expand: true
src: '<%= dir.src %>/<%= dir.img %>/**/*.{png,jpg,jpeg}'
]
coffee:
compile:
files:[
sourceMap: true
expand: true
cwd: '<%= dir.src %>/<%= dir.coffee %>/'
dest: '<%= dir.src %>/<%= dir.js %>/'
src: ['**/*.coffee']
ext: '.js'
]
sass:
compile:
files:[
unixNewlines: true
expand: true
style: 'expanded'
cwd: '<%= dir.src %>/<%= dir.sass %>/'
dest: '<%= dir.src %>/<%= dir.css %>/'
src: ['**/*.sass']
ext: '.css'
]
copy:
build:
expand: true
filter: "isFile"
cwd: "<%= dir.src %>"
src: ["**"].concat(excludes)
dest: "<%= dir.build %>"
watch:
html:
files: [
'<%= dir.src %>/**/*.html'
]
options:
livereload: true
coffee:
files: [
'Gruntfile'
'<%= dir.src %>/<%= dir.coffee %>/**/*.coffee'
]
tasks: [
'coffee:compile'
]
options:
livereload: true
sass:
files: [
'<%= dir.src %>/<%= dir.sass %>/**/*.sass'
]
tasks: [
'sass:compile'
]
options:
livereload: true
connect:
dev:
options:
port: 9000
base: '<%= dir.src %>'
livereload: true
prod:
options:
port: 9000
base: '<%= dir.build %>'
livereload: true
g.loadNpmTasks 'grunt-bower-task'
g.loadNpmTasks 'grunt-contrib'
g.registerTask 'default', ['connect:dev', 'watch']
g.registerTask 'build', ['imagemin', 'coffee', 'sass', 'clean:build', 'copy']
g.registerTask 'img', 'imagemin'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment