72 lines
2.0 KiB
JavaScript
72 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
var gulp = require("gulp");
|
|
var sass = require("gulp-sass");
|
|
var autoprefixer = require("gulp-autoprefixer");
|
|
var browserSync = require("browser-sync");
|
|
var del = require("del");
|
|
var imagemin = require("gulp-imagemin");
|
|
var pngquant = require("imagemin-pngquant");
|
|
var cache = require("gulp-cache");
|
|
|
|
gulp.task("sass", function() {
|
|
return gulp.src("./app/sass/**/*.scss",)
|
|
.pipe(sass({outputStyle:"compressed"}).on("error", sass.logError))
|
|
.pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true }))
|
|
.pipe(gulp.dest("./app/css"))
|
|
.pipe(browserSync.reload({stream: true}))
|
|
})
|
|
|
|
gulp.task("browser-sync", function() {
|
|
browserSync({
|
|
server: {
|
|
baseDir: "./app"
|
|
},
|
|
notify: false
|
|
})
|
|
})
|
|
|
|
gulp.task("watch", function() {
|
|
gulp.watch("./app/sass/*.scss", gulp.series("sass"));
|
|
gulp.watch("./app/*.html").on("change", browserSync.reload);
|
|
})
|
|
|
|
gulp.task("clear", function(cb) {
|
|
return del.sync("dist");
|
|
})
|
|
gulp.task('img', function() {
|
|
return gulp.src('app/img/**/*')
|
|
.pipe(cache(imagemin({
|
|
interlaced: true,
|
|
progressive: true,
|
|
svgoPlugins: [{removeViewBox: false}],
|
|
use: [pngquant()]
|
|
})))
|
|
.pipe(gulp.dest('dist/img'));
|
|
});
|
|
|
|
gulp.task("build", gulp.series(function(cb) {gulp.series("clear"); cb()}, "img",
|
|
function() {
|
|
return gulp.src("app/css/**/*.css").pipe(gulp.dest("dist/css"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/fonts/**/*").pipe(gulp.dest("dist/fonts"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/js/**/*.js").pipe(gulp.dest("dist/js"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/*.html").pipe(gulp.dest("dist"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/.htaccess").pipe(gulp.dest("dist"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/favicon.ico").pipe(gulp.dest("dist"))
|
|
},
|
|
function() {
|
|
return gulp.src("app/robots.txt").pipe(gulp.dest("dist"))
|
|
}
|
|
))
|
|
|
|
gulp.task("default", gulp.parallel("watch" ,"browser-sync")); |