Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gulpfile.js - github.com/gesquive/slate.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 31da9827e519e8da8513d662fdccbd4ded92ddf1 (plain)
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
/* File: gulpfile.js */
/* jshint node: true */
'use strict';

// grab our packages
var gulp   = require('gulp');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer');
var runSequence = require('run-sequence');
var sass = require('gulp-sass');
var cleanCss = require('gulp-clean-css');
var hash = require('gulp-hash');
var webserver = require('gulp-webserver');
var del = require('del');
var util = require('gulp-util');


var src = './src',
    vnd = './vendor',
    dst = './static',
    scssSrc = src + '/scss',
    scssVnd = vnd + '/scss',
    scssDst = dst + '/css',
    jsSrc = src + '/js',
    jsVnd = vnd + '/js',
    jsDst = dst + '/js',
    fontDst = dst + '/fonts';

// define the default task and add the watch task to it
gulp.task('default', ['build']);

gulp.task('build', function(callback) {
    runSequence('vendor', 'pack-css', 'pack-js');
});

gulp.task('pack-js', function () {
    return gulp.src([jsVnd + '/**/*.js', jsSrc + '/**/*.js'])
        .pipe(concat('slate.js'))
        .pipe(util.env.debug ? util.noop() : uglify())
        .pipe(gulp.dest(jsDst));
});

gulp.task('pack-css', function () {
    return gulp.src([scssVnd + '/**/*.css',
                     scssVnd + '/**/*.scss',
                     scssSrc + '/**/*.css',
                     scssSrc + '/**/*.scss'])
        .pipe(sass({
          outputStyle: 'compressed',
          errLogToConsole: true
        }))
        .pipe(concat('slate.css'))
        .pipe(cleanCss())
   .pipe(gulp.dest(scssDst));
});

gulp.task('vendor', function () {
    // del([scssDst + '/font-awesome.*', fontDst]);
    gulp.src(['./node_modules/font-awesome/css/font-awesome.css'])
        .pipe(gulp.dest(scssVnd));

    gulp.src(['./node_modules/font-awesome/fonts/*'])
        .pipe(gulp.dest(fontDst));

    gulp.src(['./node_modules/shufflejs/dist/shuffle.js'])
        .pipe(gulp.dest(jsVnd));

    gulp.src(['./node_modules/tinycolor2/tinycolor.js'])
        .pipe(gulp.dest(jsVnd));
});

// configure which files to watch and what tasks to use on file changes
gulp.task('watch', function() {
    runSequence('pack-css', 'pack-js');
    gulp.watch(scssSrc + '/**/*css', ['pack-css']);
    gulp.watch(jsSrc + '/**/*.js', ['pack-js']);
});

gulp.task('serve', ['watch'], function() {
    gulp.src(dst)
        .pipe(webserver({
            livereload: true,
            directoryListing: false,
            open: true,
            fallback: 'index.html'
        }));
});