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

github.com/gesquive/slate.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGus Esquivel <gesquive@gmail.com>2017-05-16 01:30:37 +0300
committerGus Esquivel <gesquive@gmail.com>2017-05-16 01:30:37 +0300
commit42d8ca07875a8fb9c458d361c6c6d09dcf0e5081 (patch)
treebda0720f3bafbb167da49f3b13bd788a85f85775 /gulpfile.js
first working version
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js87
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'
+ }));
+});