quocvuongdn

#gulp for jade-sass

Apr 24th, 2016
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Install cmd
  2. // npm install --save-dev gulp-ruby-sass gulp-autoprefixer gulp-cssnano gulp-jshint gulp-uglify gulp-imagemin gulp-rename gulp-concat gulp-notify gulp-cache gulp-livereload del gulp-jade
  3.  
  4.  
  5. var gulp = require('gulp'),
  6.     sass = require('gulp-ruby-sass'),
  7.     autoprefixer = require('gulp-autoprefixer'),
  8.     cssnano = require('gulp-cssnano'),
  9.     jshint = require('gulp-jshint'),
  10.     uglify = require('gulp-uglify'),
  11.     imagemin = require('gulp-imagemin'),
  12.     rename = require('gulp-rename'),
  13.     concat = require('gulp-concat'),
  14.     notify = require('gulp-notify'),
  15.     cache = require('gulp-cache'),
  16.     livereload = require('gulp-livereload'),
  17.     del = require('del'),
  18.     jade = require('gulp-jade');
  19.  
  20. gulp.task('styles', function() {
  21.     return sass('src/css/**/*', {style: 'expanded'})
  22.         .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
  23.         .pipe(gulp.dest('dist/css'))
  24.         .pipe(rename({suffix: '.min'}))
  25.         .pipe(cssnano())
  26.         .pipe(gulp.dest('dist/css'))
  27.         .pipe(notify({message: 'Styles task complete'}));
  28. });
  29.  
  30. gulp.task('scripts', function() {
  31.   return gulp.src('src/js/**/*.js')
  32.     //.pipe(jshint('.jshintrc'))
  33.     //.pipe(jshint.reporter('default'))
  34.     .pipe(concat('main.js'))
  35.     .pipe(gulp.dest('dist/js'))
  36.     .pipe(rename({ suffix: '.min' }))
  37.     .pipe(uglify())
  38.     .pipe(gulp.dest('dist/js'))
  39.     .pipe(notify({ message: 'Scripts task complete' }));
  40. });
  41.  
  42. gulp.task('images', function() {
  43.    return gulp.src('src/img/**/*')
  44.     .pipe(cache(imagemin({optiomizetionLevel: 3, progresstive: true, interlaced: true })))
  45.     .pipe(gulp.dest('dist/img'))
  46.     .pipe(notify({message: 'Images task complete'}));
  47. });
  48.  
  49. gulp.task('templates', function() {
  50.    return gulp.src('src/*.jade')
  51.     .pipe(jade({
  52.         pretty: true
  53.     }))
  54.     .pipe(gulp.dest('./dist'))
  55.     .pipe(notify({message: 'Templates task complete'}));
  56. });
  57.  
  58. gulp.task('clean', function () {
  59.     return del(['dist/css/', 'dist/js/', 'dist/img']);
  60. });
  61.  
  62. gulp.task('default', ['clean'], function() {
  63.   gulp.start('styles', 'scripts', 'images', 'templates');
  64. });
  65.  
  66. gulp.task('watch', function() {
  67.     gulp.watch('src/css/**/*.scss', ['styles']);
  68.     gulp.watch('src/js/**/*.js', ['scripts']);
  69.     gulp.watch('src/img/**/*', ['images']);
  70.     gulp.watch('src/*.jade', ['templates']);
  71.    
  72.     livereload.listen();
  73.    
  74.     gulp.watch(['dist/**']).on('change', livereload.changed);
  75. });
Advertisement
Add Comment
Please, Sign In to add comment