-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGulpfile.js
More file actions
82 lines (71 loc) · 2.05 KB
/
Gulpfile.js
File metadata and controls
82 lines (71 loc) · 2.05 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
var concat, del, jade, gulp, minifyCss;
var preprocess, rsync, sass, sourcemaps;
var watch, webserver;
var environments, dev, prod;
gulp = require('gulp');
del = require('del');
concat = require('gulp-continuous-concat');
sass = require('gulp-sass');
sourcemaps = require('gulp-sourcemaps');
webserver = require('gulp-webserver');
watch = require('gulp-watch');
jade = require('gulp-jade');
minifyCss = require('gulp-minify-css');
rsync = require('gulp-rsync');
preprocess = require('gulp-preprocess');
environments = require('gulp-environments');
dev = environments.development;
prod = environments.production;
gulp.task('default', ['compile-jade']);
gulp.task('serve', ['default', 'webserver']);
gulp.task('clean-public', function() {
return del([
'public/**'
])
});
gulp.task('compile-jade', ['compile-scss'], function() {
gulp.src([
'app/jade/**/*.jade',
'!app/jade/layout.jade',
'!app/jade/mixins/*.jade'
])
.pipe(watch('app/jade/**/*.jade'))
.pipe(jade())
.pipe(preprocess())
.pipe(gulp.dest('public/'));
});
gulp.task('compile-scss', ['copy-images'], function() {
gulp.src([
'app/stylesheets/**/*.scss',
'!app/stylesheets/**/_*.scss'
])
.pipe(watch('app/stylesheets/**/*.scss'))
.pipe(sourcemaps.init())
.pipe(sass({ indentedSyntax: false, errLogToConsole: true }))
.pipe(concat('application.css'))
.pipe(prod(minifyCss()))
.pipe(sourcemaps.write())
.pipe(gulp.dest('public/assets'))
});
gulp.task('copy-images', ['clean-public'], function() {
gulp.src(['app/images/**/*.{jpeg,jpg,gif,png}'])
.pipe(watch('app/images/**/*.{jpeg,jpg,gif,png}'))
.pipe(gulp.dest('public/assets/images'))
});
gulp.task('webserver', function() {
gulp.src('./public')
.pipe(webserver({
livereload: false,
directoryListing: false,
open: true
}));
});
gulp.task('deploy', function() {
gulp.src('public/**')
.pipe(rsync({
root: 'public',
hostname: 'wastedcode.com',
username: 'isingh',
destination: '/home/isingh/wastedcode-web'
}));
});