-
Notifications
You must be signed in to change notification settings - Fork 57
/
Gruntfile.js
84 lines (81 loc) · 1.69 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
74
75
76
77
78
79
80
81
82
83
84
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
var BSconfig = require('./bs-config');
grunt.initConfig({
watch: {
files: {
files: ['**/*.shtml', '!**/node_modules/**/*'],
tasks: ['copy', 'ssi'],
options: {
spawn: false
}
}
},
browserSync: {
server: {
bsFiles: {
src: BSconfig.files
},
options: {
watchTask: false,
server: {
baseDir: BSconfig.server,
middleware: BSconfig.middleware
}
}
}
},
bsReload: { // for compiling task like preprocessors, not in use now
css: {
reload: "**/*.css"
}
},
copy: {
main: {
files: [{
expand: true,
src: ['**/*.shtml', '!node_modules/**/*.shtml'],
ext: '.html'
}]
}
},
ssi: {
options: {
input: './',
output: './',
matcher: '**/*.html'
}
},
sitemap: {
dist: {
pattern: [
'**/*.html',
'**/*.txt',
'!**/google*.html',
'!**/sitemap.txt',
'!**/+(*-dev|node_modules|inc|sandstone)/**',
'!**/index2*'
],
siteRoot: './',
homepage: "http://moztw.org/",
changefreq: "monthly",
}
}
});
grunt.event.on('watch', function(action, filepath) {
var cfgkey = ['copy', 'main', 'files'];
grunt.config.set(cfgkey, grunt.config.get(cfgkey).map(function(file) {
file.src = filepath;
return file;
}));
});
grunt.registerTask('ssi', 'Flatten SSI includes in your HTML files.', function() {
var ssi = require( 'ssi' )
, opts = this.options()
, files = new ssi( opts.input, opts.output, opts.matcher )
;
files.compile();
});
//grunt.registerTask('default', ['copy', 'ssi', 'browserSync', 'watch']);
grunt.registerTask('default', ['browserSync']);
};