|
|
|
@ -1,6 +1,6 @@ |
|
|
|
// Assigning modules to local variables
|
|
|
|
|
|
|
|
var gulp = require('gulp'); |
|
|
|
var gulp = require('gulp'); |
|
|
|
var less = require('gulp-less'); |
|
|
|
var less = require('gulp-less'); |
|
|
|
|
|
|
|
var sass = require('gulp-sass'); |
|
|
|
var browserSync = require('browser-sync').create(); |
|
|
|
var browserSync = require('browser-sync').create(); |
|
|
|
var header = require('gulp-header'); |
|
|
|
var header = require('gulp-header'); |
|
|
|
var cleanCSS = require('gulp-clean-css'); |
|
|
|
var cleanCSS = require('gulp-clean-css'); |
|
|
|
@ -17,10 +17,7 @@ var banner = ['/*!\n', |
|
|
|
'' |
|
|
|
'' |
|
|
|
].join(''); |
|
|
|
].join(''); |
|
|
|
|
|
|
|
|
|
|
|
// Default task
|
|
|
|
// Compile LESS files from /less into /css
|
|
|
|
gulp.task('default', ['less', 'minify-css', 'minify-js', 'copy']); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Less task to compile the less files and add the banner
|
|
|
|
|
|
|
|
gulp.task('less', function() { |
|
|
|
gulp.task('less', function() { |
|
|
|
return gulp.src('less/agency.less') |
|
|
|
return gulp.src('less/agency.less') |
|
|
|
.pipe(less()) |
|
|
|
.pipe(less()) |
|
|
|
@ -31,7 +28,7 @@ gulp.task('less', function() { |
|
|
|
})) |
|
|
|
})) |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// Minify CSS
|
|
|
|
// Minify compiled CSS
|
|
|
|
gulp.task('minify-css', ['less'], function() { |
|
|
|
gulp.task('minify-css', ['less'], function() { |
|
|
|
return gulp.src('css/agency.css') |
|
|
|
return gulp.src('css/agency.css') |
|
|
|
.pipe(cleanCSS({ compatibility: 'ie8' })) |
|
|
|
.pipe(cleanCSS({ compatibility: 'ie8' })) |
|
|
|
@ -54,21 +51,15 @@ gulp.task('minify-js', function() { |
|
|
|
})) |
|
|
|
})) |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// Copy Bootstrap core files from node_modules to vendor directory
|
|
|
|
// Copy vendor libraries from /node_modules into /vendor
|
|
|
|
gulp.task('bootstrap', function() { |
|
|
|
gulp.task('copy', function() { |
|
|
|
return gulp.src(['node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map']) |
|
|
|
gulp.src(['node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map']) |
|
|
|
.pipe(gulp.dest('vendor/bootstrap')) |
|
|
|
.pipe(gulp.dest('vendor/bootstrap')) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Copy jQuery core files from node_modules to vendor directory
|
|
|
|
gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js']) |
|
|
|
gulp.task('jquery', function() { |
|
|
|
|
|
|
|
return gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js']) |
|
|
|
|
|
|
|
.pipe(gulp.dest('vendor/jquery')) |
|
|
|
.pipe(gulp.dest('vendor/jquery')) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Copy Font Awesome core files from node_modules to vendor directory
|
|
|
|
gulp.src([ |
|
|
|
gulp.task('fontawesome', function() { |
|
|
|
|
|
|
|
return gulp.src([ |
|
|
|
|
|
|
|
'node_modules/font-awesome/**', |
|
|
|
'node_modules/font-awesome/**', |
|
|
|
'!node_modules/font-awesome/**/*.map', |
|
|
|
'!node_modules/font-awesome/**/*.map', |
|
|
|
'!node_modules/font-awesome/.npmignore', |
|
|
|
'!node_modules/font-awesome/.npmignore', |
|
|
|
@ -79,8 +70,8 @@ gulp.task('fontawesome', function() { |
|
|
|
.pipe(gulp.dest('vendor/font-awesome')) |
|
|
|
.pipe(gulp.dest('vendor/font-awesome')) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// Copy all third party dependencies from node_modules to vendor directory
|
|
|
|
// Run everything
|
|
|
|
gulp.task('copy', ['bootstrap', 'jquery', 'fontawesome']); |
|
|
|
gulp.task('default', ['less', 'minify-css', 'minify-js', 'copy']); |
|
|
|
|
|
|
|
|
|
|
|
// Configure the browserSync task
|
|
|
|
// Configure the browserSync task
|
|
|
|
gulp.task('browserSync', function() { |
|
|
|
gulp.task('browserSync', function() { |
|
|
|
@ -92,7 +83,7 @@ gulp.task('browserSync', function() { |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// Watch Task that compiles LESS and watches for HTML or JS changes and reloads with browserSync
|
|
|
|
// Watch Task that compiles LESS and watches for HTML or JS changes and reloads with browserSync
|
|
|
|
gulp.task('dev', ['browserSync', 'less', 'minify-css', 'minify-js'], function() { |
|
|
|
gulp.task('watch', ['browserSync', 'less', 'minify-css', 'minify-js'], function() { |
|
|
|
gulp.watch('less/*.less', ['less']); |
|
|
|
gulp.watch('less/*.less', ['less']); |
|
|
|
gulp.watch('css/*.css', ['minify-css']); |
|
|
|
gulp.watch('css/*.css', ['minify-css']); |
|
|
|
gulp.watch('js/*.js', ['minify-js']); |
|
|
|
gulp.watch('js/*.js', ['minify-js']); |
|
|
|
@ -100,3 +91,15 @@ gulp.task('dev', ['browserSync', 'less', 'minify-css', 'minify-js'], function() |
|
|
|
gulp.watch('*.html', browserSync.reload); |
|
|
|
gulp.watch('*.html', browserSync.reload); |
|
|
|
gulp.watch('js/**/*.js', browserSync.reload); |
|
|
|
gulp.watch('js/**/*.js', browserSync.reload); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Compiles SCSS files from /scss into /css
|
|
|
|
|
|
|
|
// NOTE: This theme uses LESS by default. To swtich to SCSS you will need to update this gulpfile by changing the 'less' tasks to run 'sass'!
|
|
|
|
|
|
|
|
gulp.task('sass', function() { |
|
|
|
|
|
|
|
return gulp.src('scss/agency.scss') |
|
|
|
|
|
|
|
.pipe(sass()) |
|
|
|
|
|
|
|
.pipe(header(banner, { pkg: pkg })) |
|
|
|
|
|
|
|
.pipe(gulp.dest('css')) |
|
|
|
|
|
|
|
.pipe(browserSync.reload({ |
|
|
|
|
|
|
|
stream: true |
|
|
|
|
|
|
|
})) |
|
|
|
|
|
|
|
}); |
|
|
|
|