Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- var gulp = require('gulp');
- var browserSync = require('browser-sync').create();
- var header = require('gulp-header');
- var cleanCSS = require('gulp-clean-css');
- var rename = require("gulp-rename");
- var uglify = require('gulp-uglify');
- var pkg = require('./package.json');
- var imageop = require('gulp-image-optimization');
- var uncss = require('gulp-uncss');
- // var browserify = require('gulp-browserify');
- // Set the banner content
- var banner = ['/*!\n',
- ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n',
- ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n',
- ' */\n',
- ''
- ].join('');
- // concatenate & minify CSS
- gulp.task('minify-css', function () {
- return gulp.src('src/css/*.css')
- .pipe(cleanCSS({compatibility: 'ie8'}))
- .pipe(rename({suffix: '.min'}))
- .pipe(gulp.dest('dist/css'))
- .pipe(browserSync.reload({
- stream: true
- }))
- });
- // concatenate & minify JS
- gulp.task('minify-js', function () {
- return gulp.src('src/js/*js')
- .pipe(uglify())
- .pipe(header(banner, {pkg: pkg}))
- .pipe(rename({suffix: '.min'}))
- .pipe(gulp.dest('dist/js'))
- .pipe(browserSync.reload({
- stream: true
- }))
- });
- gulp.task('image-optimization', function (cb) {
- gulp.src(['src/img/**/*.png', 'src/img/**/*.jpg', 'src/img/**/*.gif', 'src/img/**/*.jpeg']).pipe(imageop({
- optimizationLevel: 5,
- progressive: true,
- interlaced: true
- })).pipe(gulp.dest('dist/img')).on('end', cb).on('error', cb);
- });
- // Run everything
- gulp.task('default', ['minify-css', 'minify-js', 'image-optimization']);
- // Configure the browserSync task
- gulp.task('browserSync', function () {
- browserSync.init({
- server: {
- baseDir: ''
- },
- })
- })
- // Dev task with browserSync
- gulp.task('dev', ['browserSync', 'minify-css', 'minify-js'], function () {
- gulp.watch('src/css/*.css', ['minify-css']);
- gulp.watch('src/js/*.js', ['minify-js']);
- // Reloads the browser whenever HTML or JS files change
- gulp.watch('pages/*.html', browserSync.reload);
- gulp.watch('dist/js/*.js', browserSync.reload);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement