-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathgulpfile.js
77 lines (63 loc) · 1.45 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
// Require Libraries.
var gulp = require( 'gulp' ),
path = require( 'path' ),
compass = require( 'gulp-compass' ),
browserSync = require('browser-sync');
WP = require( 'wp-cli' );
// Current Working Directory.
var cwd = process.env.INIT_CWD;
// Project Working Directory.
var pwd = __dirname;
// System Variables.
var config;
var response;
// Paths.
var paths = {
sass: cwd + '/scss/',
css: cwd + '/css/',
js: cwd + '/js/'
};
// Asset Locations.
var assets = {
sass: [paths.sass + '**/*'],
css: [paths.css + '**/*'],
js: [paths.js + '**/*'],
};
gulp.task('serve', function() {
WP.discover( {path:'../../../'}, function( WP ) {
WP.option.get( ['siteurl'], function( err,result ){
siteurl = result;
browserSync.init({
proxy: siteurl,
ghostMode: {
clicks: true,
forms: true,
scroll: true
}
});
gulp.watch( cwd + '/**/*.php', ['browsersync']);
});
});
});
// Compass Task.
gulp.task( 'compass', function () {
gulp.src( paths.sass )
.pipe( compass( {
config_file: cwd + '/scss/config.rb',
css: paths.css,
sass: paths.sass
}));
});
// Watch Task.
gulp.task( 'watch', function () {
gulp.watch( assets.sass, ['compass'] );
gulp.watch( assets.css, ['browsersync'] );
gulp.watch( assets.js, ['browsersync'] );
gulp.watch( cwd + '**/*.php', ['browsersync'] );
});
// CSS Reload.
gulp.task( 'browsersync', function () {
browserSync.reload();
});
// Default.
gulp.task( 'default', ['serve', 'compass', 'watch'] );