-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathGruntfile.js
More file actions
107 lines (105 loc) · 2.73 KB
/
Gruntfile.js
File metadata and controls
107 lines (105 loc) · 2.73 KB
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
module.exports = function(grunt) {
'use strict';
var globalConfig = {
data: 'javascript',
template: 'page'
};
if(grunt.option('data') !== undefined){
globalConfig.data = grunt.option('data');
}
if(grunt.option('template') !== undefined){
globalConfig.template = grunt.option('template');
}
grunt.initConfig({
globalConfig: globalConfig,
pkg: grunt.file.readJSON('package.json'),
sass: {
dist: {
options: {
style: 'compressed'
},
files: [
{
expand: true,
cwd: 'sass/',
src: ['**/*.scss'],
dest: 'output/css/',
ext: '.css',
},
],
}
},
browserify: {
dist: {
options: {
},
files: {
'output/js/build/guide.js': ['js/modals.js', 'js/guide.js', 'js/video-thumbs.js']
},
}
},
uglify: {
dist: {
files:{
'output/js/build/guide.min.js': ['output/js/build/guide.js']
},
}
},
'compile-handlebars': {
// allStatic: {
// preHTML: 'partials/header.handlebars',
// postHTML: 'partials/footer.handlebars',
// template: 'templates/<%= globalConfig.template %>.handlebars',
// templateData: 'data/<%= globalConfig.data %>/index.json',
// output: 'output/<%= globalConfig.data %>/index.html',
// globals: [
// 'content/contributors.json'
// ]
// },
globalJsonGlobbedTemplate: {
preHTML: 'partials/header.handlebars',
postHTML: 'partials/footer.handlebars',
template: 'templates/**/*.handlebars',
templateData: 'data/**/*.json',
output: 'output/**/*.html',
globals: [
'content/contributors.json'
]
},
},
watch: {
css: {
files: 'sass/**/*.scss',
tasks: ['sass'],
options: {
spawn: false,
livereload: true
},
},
scripts: {
files: 'js/**/*.js',
tasks: ['newer:browserify', 'newer:uglify'],
options: {
spawn: false,
livereload: true
},
},
templates: {
files: ['templates/**/*.handlebars','guide.json'],
tasks: ['compile-handlebars'],
options: {
spawn: false,
}
}
}
});
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-newer');
grunt.loadNpmTasks('grunt-bump');
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-compile-handlebars');
grunt.registerTask('default',['watch']);
};