Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var gulp = require('gulp'),
  2.     fs = require('fs'),
  3.     pug = require('gulp-pug'),
  4.     concatCSS = require('gulp-concat-css'),
  5.     rename = require('gulp-rename'),
  6.     notify = require('gulp-notify'),
  7.     autoprefixer = require('gulp-autoprefixer'),
  8.     livereload = require('gulp-livereload'),
  9.     minifyCSS = require('gulp-minify-css'),
  10.     sass = require('gulp-sass'),
  11.     htmlhint = require("gulp-htmlhint"),
  12.     concat = require('gulp-concat'),
  13.     cache = require('gulp-cache'),
  14.     fileSync = require('gulp-file-sync'),
  15.     connect = require('gulp-connect'),
  16.     gutil = require('gulp-util');
  17.  
  18.  
  19. gulp.task('connect', function(done){
  20.     connect.server({
  21.         root:'app',
  22.         livereload:true
  23.     });
  24.     done()
  25. });
  26.  
  27. gulp.task('html', function(){
  28.     gulp.src('./app/**/*.html')
  29.     .pipe(htmlhint())
  30.     .pipe(connect.reload());
  31. });
  32.  
  33. gulp.task('clear', function(done){
  34.     return cache.clearAll(done);
  35. });
  36.  
  37. gulp.task('sass', function(){
  38.     return gulp.src('./src/sass/style.sass')
  39.     .pipe(sass().on('error', function(err) {
  40.         const message = err.message || '';
  41.         const errName = err.name || '';
  42.         const codeFrame = err.codeFrame || '';
  43.         gutil.log(gutil.colors.red.bold('[JS babel error]')+' '+ gutil.colors.bgRed(errName));
  44.         gutil.log(gutil.colors.bold('message:') +' '+ message);
  45.         gutil.log(gutil.colors.bold('codeframe:') + '\n' + codeFrame);
  46.         this.emit('end');
  47.     }))
  48.     .pipe(gulp.dest('./app/css'))
  49.     .pipe(connect.reload())
  50. });
  51.  
  52.  
  53. gulp.task('pug', function(){
  54.     return gulp.src('./src/pug/index.pug')
  55.         .pipe(pug({
  56.             pretty: true
  57.         }))
  58.         .pipe(gulp.dest('./app/'))
  59.         .pipe(connect.reload());
  60. });
  61.  
  62. gulp.task('concat', gulp.series('sass', function(done){
  63.     return gulp.src(['./app/css/style.css'])
  64.     .pipe(concat('app.css'))
  65.     .pipe(autoprefixer())
  66.     .pipe(rename('app.min.css'))
  67.     .pipe(gulp.dest('./app/css'))
  68.     .pipe(connect.reload())
  69.     done()
  70. }));
  71.  
  72. gulp.task('files',  function () {
  73.     var fonts = fileSync('./src/fonts/', './app/css/fonts/', {recursive: true});
  74.      return fileSync('./src/img/', './app/img/', {recursive: true});
  75. })
  76.  
  77. gulp.task('js', function () {
  78.     return gulp.src('./src/js/*.js')
  79.     .pipe(gulp.dest('./app/js/*.js'))
  80.     .pipe(connect.reload())
  81. });
  82.  
  83. gulp.task('watch', function(done){
  84.     gulp.watch(['src/sass/*.sass'], gulp.series('clear','sass', 'concat'))
  85.     gulp.watch(['src/js/*.js'], gulp.series('js'))
  86.     gulp.watch(['src/pug/*.pug'], gulp.series('pug'))
  87.     done()
  88. });
  89.  
  90. gulp.task('default', gulp.series('connect', 'watch', 'pug', 'files', 'sass', 'clear','concat', 'js', function(done) {
  91.     done()
  92. }));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement