93 lines
2.6 KiB
JavaScript
93 lines
2.6 KiB
JavaScript
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"]);
|
|
};
|