Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. var gulp = require('gulp'),
  2. sass = require('gulp-sass');
  3. browserSync = require('browser-sync'),
  4. concat = require('gulp-concat'),
  5. uglify = require('gulp-uglifyjs'),
  6. cssnano = require('gulp-cssnano'),
  7. rename = require('gulp-rename'),
  8. del = require('del'),
  9. imagemin = require('gulp-imagemin'),
  10. pngquant = require('imagemin-pngquant'),
  11. cache = require('gulp-cache'),
  12. autoprefixer = require('gulp-autoprefixer');
  13.  
  14. gulp.task('sass', function() {
  15. return gulp.src('app/sass/**/*.sass')
  16. .pipe(sass())
  17. .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true}))
  18. .pipe(gulp.dest('app/css'))
  19. .pipe(browserSync.reload({stream: true}))
  20. });
  21.  
  22. gulp.task('scripts', function(){
  23. return gulp.src([
  24. 'app/libs/jquery/dist/jquery.min.js',
  25. 'app/libs/magnific-popup/dist/jquery.magnific-popup.min.js',
  26. ])
  27. .pipe(concat('libs.min.js'))
  28. .pipe(uglify())
  29. .pipe(gulp.dest('app/js'));
  30. });
  31.  
  32. gulp.task('css-libs', ['sass'], function(){
  33. return gulp.src('app/css/libs.css')
  34. .pipe(cssnano())
  35. .pipe(rename({suffix: '.min'}))
  36. .pipe(gulp.dest('app/css'));
  37. });
  38.  
  39. gulp.task('browser-sync', function() {
  40. browserSync({
  41. server: {
  42. baseDir: 'app'
  43. },
  44. notify: false
  45. });
  46. });
  47.  
  48. gulp.task('clean', function(){
  49. return del.sync('dist');
  50. });
  51.  
  52. gulp.task('clear', function(){
  53. return cache.clearAll();
  54. });
  55.  
  56. gulp.task('img', function() {
  57. return gulp.src('app/img/**/*')
  58. .pipe(cache(imagemin({
  59. interlaced: true,
  60. progressive: true,
  61. svgoPlagins: [{removeViewBox: false}],
  62. une: [pngquant()]
  63. })))
  64. .pipe(gulp.dest('dist/img'));
  65. });
  66.  
  67. gulp.task('watch', ['browser-sync', 'css-libs', 'scripts'], function() {
  68. gulp.watch('app/sass/**/*.sass', ['sass']);
  69. gulp.watch('app/*.html', browserSync.reload);
  70. gulp.watch('app/**/*.js', browserSync.reload);
  71. });
  72.  
  73. gulp.task('build', ['clean', 'img', 'sass', 'scripts'], function(){
  74. var buildCss = gulp.src([
  75. 'app/css/main.css',
  76. 'app/css/libs.min.css'
  77. ])
  78. .pipe(gulp.dest('dist/css'));
  79.  
  80. var buildFonts = gulp.src([
  81. 'app/fonts/**/*'
  82. ])
  83. .pipe(gulp.dest('dist/fonts'));
  84.  
  85. var buildJs = gulp.src([
  86. 'app/js/**/*'])
  87. .pipe(gulp.dest('dist/js'));
  88.  
  89. var buildHtml = gulp.src('app/*.html')
  90. .pipe(gulp.dest('dist'));
  91. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement