-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathGruntfile.js
73 lines (67 loc) · 1.44 KB
/
Gruntfile.js
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
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
jekyll: {
full: {}
},
htmlmin: {
site: {
options: {
removeComments: true,
collapseWhitespace: true
},
expand: true,
cwd: '_site/',
src: '**/*.html',
dest: '_site/'
}
},
watch: {
full: {
files: [
'**',
'!_site/**',
'!node_modules/**',
'!css/*',
'!Gruntfile.js',
'!README.md',
'!LICENSE.md',
'!package.json',
'!.git/**'
],
tasks: ['jekyll:full', 'htmlmin']
}
},
rsync: {
options: {
args: [
'--times', // preserve modification times…
'--omit-dir-times', // …except for directories
'--compress', // compress data during the transfer
'--verbose', // increase verbosity
'--chmod=ug=rwX,o=rX' // `chmod` new files
],
exclude: ['.DS_Store'],
recursive: true
},
deploy: {
options: {
src: '_site/',
dest: '/var/www/html/extensions/',
host: '54.213.240.91'
}
}
}
});
grunt.registerTask('default', function() {
grunt.log.subhead('Please use one of the following commands:');
grunt.log.writeln('• grunt watch — for quick dev build');
grunt.log.writeln('• grunt build — for full site build');
grunt.log.writeln('• grunt deploy — for deploying build');
});
grunt.registerTask('build', [
'jekyll:full',
'htmlmin'
]);
grunt.registerTask('deploy', ['rsync']);
};