-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgulpfile.js
101 lines (100 loc) · 2.96 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var gulp = require("gulp");
var concat = require("gulp-concat");
var autoprefixer = require("gulp-autoprefixer");
var sass = require("gulp-sass")(require("sass"));
var pug = require("gulp-pug");
var livereload = require("gulp-livereload");
var sourcemaps = require("gulp-sourcemaps");
var uglify = require("gulp-uglify");
var notify = require("gulp-notify");
var zip = require("gulp-zip");
// ===== Task Html =====
gulp.task("html", function () {
return gulp
.src("project/pug/*.pug")
.pipe(pug({ pretty: true }))
.pipe(gulp.dest("dist"))
.pipe(livereload())
.pipe(notify("Html Task Is Done"));
});
// ===== Task Scss En =====
gulp.task("scss", function () {
return gulp
.src("project/scss/*.scss")
.pipe(sourcemaps.init())
.pipe(sass({ outputStyle: "compressed" }).on("error", sass.logError))
.pipe(autoprefixer("last 20 versions"))
.pipe(concat("style.css"))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("dist/css"))
.pipe(livereload())
.pipe(notify("Scss Task Is Done"));
});
// ===== Task Libs Css =====
gulp.task("libs-css", function () {
return gulp
.src("project/libs-css/**/*")
.pipe(gulp.dest("dist/css/libs"))
.pipe(livereload())
.pipe(notify("Libs Css Task Is Done"));
});
// ===== Task Js =====
gulp.task("js", function () {
return gulp
.src("project/js/**/*.js")
.pipe(sourcemaps.init())
.pipe(concat("script.js"))
.pipe(uglify())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("dist/js"))
.pipe(notify("Js Task Is Done"))
.pipe(livereload());
});
// ===== Task Libs Js =====
gulp.task("libs-js", function () {
return gulp
.src("project/libs-js/**/*")
.pipe(gulp.dest("dist/js"))
.pipe(livereload())
.pipe(notify("Libs js Task Is Done"));
});
// ===== Task Images Compress =====
gulp.task("compressImages", function () {
return (
gulp
.src("project/images/**/*")
// .pipe(imagemin({ progressive: true }))
.pipe(gulp.dest("dist/images"))
.pipe(livereload())
.pipe(notify("compress Images Task Is Done"))
);
});
// ===== Task Zpi Compress =====
gulp.task("compress", function () {
return gulp
.src("dist/**/*")
.pipe(zip("website.zip"))
.pipe(gulp.dest("."))
.pipe(notify("Files Is Compressed To Zip "));
});
// ===== Task Watch =====
gulp.task("watch", function () {
require("./server.js");
livereload.listen();
// = Html
gulp.watch("project/pug/**/*.pug", gulp.series("html"));
// = Css
gulp.watch("project/scss/**/*.scss", gulp.series("scss"));
gulp.watch("project/libs-css/**/*", gulp.series("libs-css"));
// = Javascript
gulp.watch("project/js/**/*.js", gulp.series("js"));
gulp.watch("project/libs-js/**/*", gulp.series("libs-js"));
// = Images
gulp.watch("project/images/**/*", gulp.series("compressImages"));
// = Zip
gulp.watch("dist/**/*.*", gulp.series("compress"));
// = Upload
// gulp.watch("dist/**/*.*", gulp.series("deploy"));
});
// = Default
gulp.task("default", gulp.series("watch"));