forked from DigitalMindCH/twister-jekyll-theme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gruntfile.js
92 lines (81 loc) · 2.65 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
85
86
87
88
89
90
91
92
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
build: {
src: 'js/*.js',
dest: 'js/build/global.min.js'
}
},
sass: {
options: {
outputStyle: 'compressed',
},
dist: {
files: {
'css/main.css': 'sass/main.scss',
'css/grid.css': 'sass/grid.scss',
'css/classic.css': 'sass/classic.scss'
}
}
},
autoprefixer: {
options: {
browsers: ['> 1%']
},
no_dest: {
src: 'css/*.css' // globbing is also possible here
},
},
watch: {
options: {
livereload: true
},
site: {
files: ["*.html", "**/*.html", "*.md", "**/*.md", "**/*.yml", "*.yml", "!_site/*.*", "!_site/**/*.*"],
tasks: ["shell:jekyllBuild"]
},
js: {
files: ["js/*.js"],
tasks: ["uglify", "shell:jekyllBuild"]
},
css: {
files: ["sass/*.scss", "sass/partials/*.scss", "sass/partials/components/*.scss", "sass/partials/layout/*.scss", "sass/modules/*.scss"],
tasks: ["sass", "autoprefixer", "shell:jekyllBuild"]
}
},
buildcontrol: {
options: {
dir: '_site',
commit: true,
push: true,
message: 'Built _site from commit %sourceCommit% on branch %sourceBranch%'
},
pages: {
options: {
remote: 'https://github.com/user/reponame.git', // change that
branch: 'gh-pages' // adjust here
}
}
},
shell: {
jekyllServe: {
command: "jekyll serve --no-watch"
},
jekyllBuild: {
command: "jekyll build"
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-build-control');
// Default task(s).
grunt.registerTask("serve", ["shell:jekyllServe"]);
grunt.registerTask("default", ["sass", "autoprefixer", "shell:jekyllBuild", "watch"]);
grunt.registerTask("deploy", ["buildcontrol:pages"]);
};