mirror of
https://github.com/bs-community/blessing-skin-server.git
synced 2024-12-15 06:09:58 +08:00
165 lines
5.2 KiB
JavaScript
165 lines
5.2 KiB
JavaScript
|
/*
|
||
|
* @Author: prpr
|
||
|
* @Date: 2016-07-21 13:38:26
|
||
|
* @Last Modified by: prpr
|
||
|
* @Last Modified time: 2016-07-21 21:41:11
|
||
|
*/
|
||
|
|
||
|
var gulp = require('gulp'),
|
||
|
jshint = require('gulp-jshint'),
|
||
|
concat = require('gulp-concat'),
|
||
|
uglify = require('gulp-uglify'),
|
||
|
sass = require('gulp-ruby-sass'),
|
||
|
cleanCss = require('gulp-clean-css'),
|
||
|
rename = require('gulp-rename'),
|
||
|
del = require('del'),
|
||
|
runSequence = require('run-sequence'),
|
||
|
replace = require('gulp-replace');
|
||
|
|
||
|
/**
|
||
|
* Copy files from bower_components to dist for later concat
|
||
|
*/
|
||
|
gulp.task('copy', function() {
|
||
|
|
||
|
gulp.src('./assets/bower_components/jquery/dist/jquery.min.js')
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/bootstrap/dist/css/bootstrap.min.css')
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/bootstrap/dist/fonts/**')
|
||
|
.pipe(gulp.dest('./assets/fonts/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/bootstrap/dist/js/bootstrap.min.js')
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/AdminLTE/dist/css/AdminLTE.min.css')
|
||
|
.pipe(replace('@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);', ''))
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/AdminLTE/dist/css/skins/**')
|
||
|
.pipe(gulp.dest('./assets/libs/skins/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/AdminLTE/dist/js/app.min.js')
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/bootstrap-fileinput/css/fileinput.min.css')
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src(['./assets/bower_components/bootstrap-fileinput/js/fileinput.min.js',
|
||
|
'./assets/bower_components/bootstrap-fileinput/js/locales/zh.js'])
|
||
|
.pipe(concat('fileinput.min.js'))
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/font-awesome/css/font-awesome.min.css')
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/font-awesome/fonts/**')
|
||
|
.pipe(gulp.dest('./assets/fonts/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/iCheck/skins/square/blue.css')
|
||
|
.pipe(replace('blue.png', '"../../images/blue.png"'))
|
||
|
.pipe(replace('blue@2x.png', '"../../images/blue@2x.png"'))
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/iCheck/skins/square/blue.png')
|
||
|
.pipe(gulp.dest('./assets/images/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/iCheck/skins/square/blue@2x.png')
|
||
|
.pipe(gulp.dest('./assets/images/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/iCheck/icheck.min.js')
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/toastr/toastr.min.css')
|
||
|
.pipe(gulp.dest('./assets/libs/css/'));
|
||
|
|
||
|
gulp.src('./assets/bower_components/toastr/toastr.min.js')
|
||
|
.pipe(gulp.dest('./assets/libs/js/'));
|
||
|
|
||
|
});
|
||
|
|
||
|
gulp.task('lint', function() {
|
||
|
return gulp.src('./assets/js/*.js')
|
||
|
.pipe(jshint())
|
||
|
.pipe(jshint.reporter('default'));
|
||
|
});
|
||
|
|
||
|
gulp.task('lib-css', function() {
|
||
|
gulp.src([
|
||
|
'./assets/libs/css/bootstrap.min.css',
|
||
|
'./assets/libs/css/AdminLTE.min.css',
|
||
|
'./assets/libs/css/fileinput.min.css',
|
||
|
'./assets/libs/css/font-awesome.min.css',
|
||
|
'./assets/libs/css/blue.css',
|
||
|
'./assets/libs/css/toastr.min.css'
|
||
|
])
|
||
|
.pipe(concat('app.min.css'))
|
||
|
.pipe(cleanCss())
|
||
|
.pipe(gulp.dest('./assets/dist/'))
|
||
|
});
|
||
|
|
||
|
gulp.task('lib-scripts', function() {
|
||
|
gulp.src([
|
||
|
'./assets/libs/js/jquery.min.js',
|
||
|
'./assets/libs/js/bootstrap.min.js',
|
||
|
'./assets/libs/js/app.min.js',
|
||
|
'./assets/libs/js/icheck.min.js',
|
||
|
'./assets/libs/js/fileinput.min.js',
|
||
|
'./assets/libs/js/toastr.min.js',
|
||
|
'./assets/src/js/utils.js'
|
||
|
])
|
||
|
.pipe(concat('app.min.js'))
|
||
|
.pipe(uglify())
|
||
|
.pipe(gulp.dest('./assets/dist/'))
|
||
|
});
|
||
|
|
||
|
// compile sass
|
||
|
gulp.task('sass', function() {
|
||
|
return sass('./assets/src/sass/*.scss')
|
||
|
.on('error', function (error) {
|
||
|
console.error('Error!', error.message);
|
||
|
})
|
||
|
.pipe(cleanCss())
|
||
|
.pipe(rename({'suffix': '.min'}))
|
||
|
.pipe(gulp.dest('./assets/dist/css'));
|
||
|
})
|
||
|
|
||
|
gulp.task('scripts', function() {
|
||
|
gulp.src([
|
||
|
'./assets/src/js/*.js',
|
||
|
'!./assets/src/js/utils.js'
|
||
|
])
|
||
|
.pipe(uglify())
|
||
|
.pipe(rename({'suffix': '.min'}))
|
||
|
.pipe(gulp.dest('./assets/dist/js'));
|
||
|
|
||
|
});
|
||
|
|
||
|
gulp.task('minify', ['sass', 'scripts']);
|
||
|
|
||
|
/**
|
||
|
* Concat css and js files to one file
|
||
|
*/
|
||
|
gulp.task('concat', ['lib-css', 'lib-scripts']);
|
||
|
|
||
|
gulp.task('clean', function (cb) {
|
||
|
return del([
|
||
|
'./assets/libs/css/**',
|
||
|
'./assets/libs/js/**'
|
||
|
], cb);
|
||
|
});
|
||
|
|
||
|
gulp.task('build', function(cb){
|
||
|
runSequence('copy', 'concat', 'minify', 'clean', cb);
|
||
|
});
|
||
|
|
||
|
gulp.task('default', function(){
|
||
|
gulp.watch('./assets/src/sass/*.scss', function() {
|
||
|
gulp.run('sass');
|
||
|
});
|
||
|
gulp.watch('./assets/src/js/*.js', function() {
|
||
|
gulp.run('scripts');
|
||
|
});
|
||
|
});
|