/
Gruntfile.js
84 lines (75 loc) · 1.71 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) {
// load all grunt tasks
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
// Project configuration.
grunt.initConfig({
copy: {
dist: {
files: {
'_site_git/' : '_site/**'
}
},
css : {
files: {
'_site/assets/themes/thanpolas/css/tpstyle.css': 'assets/themes/thanpolas/css/tpstyle.css'
}
}
},
shell: {
jekyll: {
command: 'rm -rf _site/*; jekyll build',
stdout: true
}
},
less: {
development: {
options: {
paths: ['assets/themes/thanpolas/less']
},
files: {
'assets/themes/thanpolas/css/tpstyle.css': ['assets/themes/thanpolas/less/main.less']
}
}
},
watch: {
options: {
livereload: true
},
less: {
files: ['assets/themes/thanpolas/less/*.less'],
tasks: ['lessCopy']
},
jekyllSources: {
files: [
// capture all except css
'*.html', '*.yml', 'assets/js/**.js', '_posts/**',
'projects/**', 'blog/**', 'about/**', '_includes/**',
'atom.xml', '**/*.md'
],
tasks: ['shell:jekyll']
}
},
connect: {
server: {
options: {
base: '_site/',
port: 9009
}
}
},
open: {
server: {
path: 'http://localhost:<%= connect.server.options.port %>/'
}
}
});
// less watch
grunt.registerTask('lessCopy', ['less:development', 'copy:css']);
grunt.registerTask('server', [
'connect:server',
'open:server',
'watch'
]);
// Default task.
grunt.registerTask('default', 'server');
};