-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.coffee
82 lines (66 loc) · 1.97 KB
/
Gruntfile.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
module.exports = (grunt) ->
matchDep = require('matchdep')
matchDep.filterDev('grunt-*').forEach grunt.loadNpmTasks
grunt.initConfig
pkg: grunt.file.readJSON('package.json')
jade:
compile:
options:
pretty: true
glob_to_multiple:
options:
pretty: true
expand: true
cwd: 'src/templates/'
src: ['*.jade']
dest: 'app/'
ext: '.html'
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
coffee:
glob_to_multiple:
expand: true
cwd: 'src/coffeescripts/'
src: ['*.coffee']
dest: 'app/assets/javascripts/'
ext: '.js'
requirejs:
compile:
options:
name: 'main'
optimize: 'uglify'
baseUrl: 'app/assets/javascripts'
mainConfigFile: 'app/assets/javascripts/config.js'
include: 'requireLib'
out: 'app/build/javascripts/main-optimized.min.js'
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cssc:
build:
options:
consolidateViaDeclarations: true
consolidateViaSelectors: true
consolidateMediaQueries: true
cssmin:
build:
src: 'app/assets/css/main.css'
dest: 'app/build/css/main.css'
sass:
glob_to_multiple:
expand: true
cwd: 'src/scss/'
src: ['*.scss']
dest: 'app/assets/css/'
ext: '.css'
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
watch:
templates:
files: ['src/templates/**/*.jade']
tasks: ['jade']
coffee:
files: ['src/coffeescripts/*.coffee']
tasks: ['buildjs']
css:
files: ['src/scss/**/*.scss', 'app/assets/css/font.css']
tasks: ['buildcss']
grunt.registerTask 'default', ['watch']
grunt.registerTask 'buildjs', ['coffee', 'requirejs']
grunt.registerTask 'buildcss', ['sass', 'cssc', 'cssmin']