UNPKG

2.19 kBJavaScriptView Raw
1/**
2 * Created by Nikolay Glushchenko <nick@nickalie.com> on 08.09.2015.
3 */
4
5
6var glue = require("gulp-glue");
7var gulp = require('gulp');
8var plumber = require('gulp-plumber');
9var debug = require('gulp-debug');
10var sourcemaps = require('gulp-sourcemaps');
11var gzip = require('gulp-gzip');
12var sass = require('gulp-sass');
13var less = require('gulp-less');
14var concat = require('gulp-concat');
15var replace = require('gulp-replace');
16var addsrc = require('gulp-add-src');
17var os = require('os');
18var utils = require('../utils');
19var del = require('del');
20var common = require('./common');
21
22var main = common.main;
23
24gulp.task('styles', ['less', 'sass', 'css']);
25
26gulp.task('sass', function ()
27{
28 return gulp.src(['style/*.sass', 'style/*.scss'])
29 .pipe(plumber())
30 .pipe(sass.sync())
31 .pipe(gulp.dest(common.dist.main))
32});
33
34gulp.task('less', function ()
35{
36 return gulp.src('style/theme.less')
37 .pipe(plumber())
38 .pipe(debug())
39 .pipe(sourcemaps.init())
40 .pipe(less())
41 .pipe(replace('/*# sourceMappingURL=../build/', '/*# sourceMappingURL='))
42 .pipe(sourcemaps.write('.'))
43 .pipe(gulp.dest('build'))
44 .pipe(gzip())
45 .pipe(gulp.dest('build'));
46});
47
48gulp.task('css', ['less', 'sass'], function ()
49{
50 return gulp.src([common.dist.main + '/*.css', 'sprites/build/*.css', 'style/*.css'])
51 .pipe(debug())
52 .pipe(concat(main + ".css"))
53 .pipe(debug())
54 .pipe(addsrc('sprites/build/*.*'))
55 .pipe(gulp.dest('build'))
56 .pipe(gzip())
57 .pipe(gulp.dest('build'))
58});
59
60gulp.task('sprites', function (cb) {
61
62 //TODO sprites task hangs on windows
63 //need to find workaround
64 if (os.platform().indexOf('win') === 0)
65 {
66 cb();
67 }
68
69 if (!utils.exists('sprites/')) {
70 cb();
71 return;
72 }
73 del.sync("sprites/build/*");
74
75 return gulp.src(['sprites/**/*'])
76 .pipe(glue({
77 url: './',
78 recursive: true,
79 source: './sprites/',
80 quiet: true,
81 output: './sprites/build/',
82 css: 'sprites/build/'
83 }, function () {
84 cb();
85 }))
86});