Repository navigation
Expand file tree
/
Copy pathgulpfile.js
More file actions
105 lines (93 loc) · 2.93 KB
/
Copy pathgulpfile.js
File metadata and controls
105 lines (93 loc) · 2.93 KB
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
102
103
104
105
const gulp = require('gulp');
const { series } = require('gulp');
const imagemin = require('gulp-imagemin');
const rigger = require('gulp-rigger');
const uglify = require('gulp-uglify');
const sass = require('gulp-sass');
const autoprefixer = require('gulp-autoprefixer');
const cleanCSS = require('gulp-clean-css');
const browserSync = require('browser-sync').create();
const clean = require('gulp-clean');
function fontsBuild() {
return gulp.src('./src/fonts/*.*')
.pipe(gulp.dest('./dist/fonts/'))
.pipe(browserSync.stream())
};
function images() {
return gulp.src('./src/images/**/*.*')
.pipe(imagemin([
imagemin.mozjpeg({quality: 85, progressive: true}),
imagemin.optipng({optimizationLevel: 6}),
imagemin.svgo({
plugins: [
{removeViewBox: false},
{cleanupIDs: false}
]
})
]))
.pipe(gulp.dest('./dist/images/'))
};
function htmlBuild() {
return gulp.src('./src/*.html')
.pipe(rigger())
.pipe(gulp.dest('./dist'))
.pipe(browserSync.stream())
};
function scriptsBuild() {
return gulp.src('./src/js/*.js')
// .pipe(uglify())
.pipe(gulp.dest('./dist/js/'))
.pipe(browserSync.stream())
};
function sassBuild() {
return gulp.src('./src/styles/scss/**/styles.scss')
.pipe(sass())
.pipe(gulp.dest('./src/styles/css/'))
.pipe(browserSync.stream())
};
function prefixMin() {
return gulp.src('./src/styles/css/*.css')
.pipe(autoprefixer({
overrideBrowserslist: ['> 0.5%, last 2 versions, Firefox ESR, not dead, IE 11'],
cascade: true
}))
.pipe(cleanCSS({
compatibility: '*'
}))
.pipe(gulp.dest('./dist/css/'))
.pipe(browserSync.stream())
};
function watch () {
browserSync.init ({
server: {
baseDir: "./dist/"
}
})
gulp.watch ('./src/fonts/*.*', fontsBuild);
gulp.watch ('./src/**/*.scss', series (sassBuild, prefixMin));
gulp.watch ('./src/**/*.css', prefixMin);
gulp.watch ('./src/**/*.html', htmlBuild);
gulp.watch ('./src/**/*.js', scriptsBuild);
gulp.watch ('./src/images/*', images);
};
function cleangit () {
return gulp.src('docs/*', {read: false})
.pipe(clean());
};
function buildgit () {
return gulp.src('./dist/**/*.*')
.pipe(gulp.dest('docs'));
};
exports.fontsBuild = fontsBuild;
exports.images = images;
exports.htmlBuild = htmlBuild;
exports.scriptsBuild = scriptsBuild;
exports.sassBuild = sassBuild;
exports.prefixMin = prefixMin;
exports.mediaBuild = series(images);
exports.styleBuild = series (sassBuild, prefixMin);
exports.watch = watch;
exports.magic = series(fontsBuild, images, htmlBuild, scriptsBuild, sassBuild, prefixMin, watch);
exports.cleangit = cleangit;
exports.buildgit = buildgit;
exports.demogit = series(cleangit, images, buildgit);