diff options
author | Gus Esquivel <gesquive@gmail.com> | 2017-05-16 01:30:37 +0300 |
---|---|---|
committer | Gus Esquivel <gesquive@gmail.com> | 2017-05-16 01:30:37 +0300 |
commit | 42d8ca07875a8fb9c458d361c6c6d09dcf0e5081 (patch) | |
tree | bda0720f3bafbb167da49f3b13bd788a85f85775 /gulpfile.js |
first working version
Diffstat (limited to 'gulpfile.js')
-rw-r--r-- | gulpfile.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..1ef5b24 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,87 @@ +/* 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 + '/**/*.[s]?css', scssSrc + '/**/*.[s]?css']) + .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' + })); +}); |