This repository was archived by the owner on Oct 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
92 lines (81 loc) · 2.67 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
// Libraries
var fs = require('fs');
var gulp = require('gulp');
var gutil = require('gulp-util');
var notify = require('gulp-notify');
var sass = require('gulp-ruby-sass');
var jshint = require("gulp-jshint");
var concat = require("gulp-concat");
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
var gzip = require("gulp-gzip");
// Variables
var srcSassDir = './app/assets/src/sass';
var srcCssDir = './app/assets/src/css';
var srcJsDir = './app/assets/src/js';
var srcFontsDir = './app/assets/src/fonts';
var srcImagesDir = './app/assets/src/img';
var distDir = './app/assets/dist/';
var distCssDir = './app/assets/dist/css';
var distJsDir = './app/assets/dist/js';
var distFontsDir = './app/assets/dist/fonts';
var distImagesDir = './app/assets/dist/img';
// Development Sass
gulp.task('dev-sass', function() {
return gulp.src(srcSassDir + '/main.scss')
.pipe(sass().on('error', gutil.log))
.pipe(rename('main.css'))
.pipe(gulp.dest(srcCssDir))
.pipe(notify('Sass compiled'));
});
// Development Javascript
// TODO
// Build Sass and CSS
gulp.task('build-sass', function() {
return gulp.src(srcSassDir + '/main.scss')
.pipe(sass({
style: 'compressed'
}).on('error', gutil.log))
.pipe(gzip())
.pipe(rename('master.min.css'))
.pipe(gulp.dest(distCssDir))
.pipe(notify('Sass compiled and compressed for distribution'));
});
// Build: Concatenate & Minify JS
gulp.task('build-js', function() {
gulp.src([srcJsDir + '/plugins.min.js'])
.pipe(gzip())
.pipe(rename(function(path) {
path.extname = ""
}))
.pipe(gulp.dest(distJsDir));
return gulp.src([srcJsDir + '/*.js', '!' + srcJsDir + '/plugins.min.js'])
.pipe(jshint())
.pipe(jshint.reporter("default"))
.pipe(concat('master.min.js'))
.pipe(uglify())
.pipe(gzip())
.pipe(rename('master.min.js'))
.pipe(gulp.dest(distJsDir))
.pipe(notify('JS compiled and compressed for distribution'));
});
// Build fonts
gulp.task('build-fonts', function() {
return gulp.src(srcFontsDir + '/*')
.pipe(gulp.dest(distFontsDir))
.pipe(notify('Fonts moved for distribution'));
});
// Build images
gulp.task('build-images', function() {
return gulp.src(srcImagesDir + '/*')
.pipe(gulp.dest(distImagesDir))
.pipe(notify('Theme images moved for distribution'));
});
// Build tasks
gulp.task('build', ['build-sass', 'build-js', 'build-fonts', 'build-images']);
// Watch tasks
gulp.task('watch', function() {
gulp.watch(srcSassDir + '/**/*.scss', ['dev-sass']);
});
// Default task
gulp.task('default', ['watch']);