1940b03d23b8b0b72bd90e1abef9dcb23da843de
[editorial.git] / gulpfile.js
1 var gulp = require('gulp');
2
3 // gulp plugins and utils
4 var gutil = require('gulp-util');
5 var livereload = require('gulp-livereload');
6 var sass = require('gulp-sass');
7 var sourcemaps = require('gulp-sourcemaps');
8 var zip = require('gulp-zip');
9
10 var swallowError = function swallowError(error) {
11 gutil.log(error.toString());
12 gutil.beep();
13 this.emit('end');
14 };
15
16 var nodemonServerInit = function () {
17 livereload.listen(1234);
18 };
19
20 sass.compiler = require('node-sass');
21
22 gulp.task('build', ['css'], function (/* cb */) {
23 return nodemonServerInit();
24 });
25
26 gulp.task('generate', ['css']);
27
28 gulp.task('css', function () {
29 return gulp.src('./assets/main/sass/*.scss')
30 .pipe(sourcemaps.init())
31 .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
32 .pipe(sourcemaps.write('./'))
33 .pipe(gulp.dest('assets/main/css/'))
34 .pipe(livereload());
35 });
36
37 gulp.task('watch', function () {
38 gulp.watch('./assets/main/sass/**/**', ['css']);
39 });
40
41 gulp.task('zip', ['css'], function () {
42 var targetDir = 'dist/';
43 var themeName = require('./package.json').name;
44 var filename = themeName + '.zip';
45
46 return gulp.src([
47 '**',
48 '!node_modules', '!node_modules/**',
49 '!dist', '!dist/**'
50 ])
51 .pipe(zip(filename))
52 .pipe(gulp.dest(targetDir));
53 });
54
55 gulp.task('default', ['build'], function () {
56 gulp.start('watch');
57 });