-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
executable file
·95 lines (86 loc) · 2.18 KB
/
gulpfile.js
File metadata and controls
executable file
·95 lines (86 loc) · 2.18 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
var autoprefixer = require('gulp-autoprefixer');
var debug = require('gulp-debug');
var fileinclude = require('gulp-file-include');
var gulp = require('gulp');
var imagemin = require('gulp-imagemin');
var newer = require('gulp-newer');
var pngquant = require('imagemin-pngquant');
var runSequence = require('run-sequence');
var sass = require('gulp-sass');
var webserver = require('gulp-webserver');
// file locations
var src = 'src/';
var htmlDir = src + 'html/**/*.html';
var htmlSrc = src + 'html/index.html';
var sassDir = src +'styles/**/*.scss';
var sassSrc = src + 'styles/index.scss';
var imgDir = src + 'images/**/*.*';
var imgDirMisc = src + 'images/**/*.eps';
var dist = './dist/';
var htmlDist = dist;
var sassDist = dist + 'styles/';
var imgDist = dist + 'images/';
// html files
gulp.task('fileinclude', function() {
gulp.src([htmlSrc])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.on('error', function(err){
console.log(err.message);
})
.pipe(gulp.dest(htmlDist));
});
// sass
gulp.task('sass', function() {
gulp.src(sassSrc)
.pipe(sass({
errLogToConsole: true
}))
.on('error', function(err){
console.log(err.message);
})
.pipe(autoprefixer({
browsers: ['last 2 versions']
}))
.pipe(gulp.dest(sassDist));
});
// images
gulp.task('imagemin', function () {
return gulp.src(imgDir)
.pipe(newer(imgDist))
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(debug({
title: 'imagemin'
}))
.pipe(gulp.dest(imgDist));
});
// move Misc
gulp.task('moveMisc', function () {
return gulp.src(imgDirMisc)
.pipe(debug({
title: 'moveMisc'
}))
.pipe(gulp.dest(imgDist));
});
// local webserver
gulp.task('server', function() {
gulp.src(dist)
.pipe(webserver());
});
// build
gulp.task('build', function(cb) {
runSequence(['fileinclude', 'sass', 'imagemin', 'moveMisc'], cb);
});
// watch task
gulp.task('default', function(cb) {
runSequence('build', 'server', cb);
gulp.watch(htmlDir, ['fileinclude']);
gulp.watch(sassDir, ['sass']);
gulp.watch(imgDir, ['imagemin', 'moveMisc']);
});