mirror of
https://github.com/KevinMidboe/rohnenedre.git
synced 2025-10-29 17:50:37 +00:00
133 lines
4.2 KiB
JavaScript
133 lines
4.2 KiB
JavaScript
var gulp = require('gulp'),
|
|
gutil = require('gulp-util'),
|
|
sass = require('gulp-sass'),
|
|
autoprefixer = require('gulp-autoprefixer'),
|
|
minifycss = require('gulp-minify-css'),
|
|
jshint = require('gulp-jshint'),
|
|
uglify = require('gulp-uglify'),
|
|
imagemin = require('gulp-imagemin'),
|
|
rename = require('gulp-rename'),
|
|
clean = require('gulp-clean'),
|
|
concat = require('gulp-concat'),
|
|
notify = require('gulp-notify'),
|
|
cache = require('gulp-cache'),
|
|
livereload = require('gulp-livereload'),
|
|
coffee = require('gulp-coffee'),
|
|
coffeelint = require('gulp-coffeelint'),
|
|
header = require('gulp-header'),
|
|
lr = require('tiny-lr'),
|
|
filter = require('gulp-filter'),
|
|
plumber = require('gulp-plumber'),
|
|
runSequence = require('run-sequence'),
|
|
zip = require('gulp-zip'),
|
|
server = lr();
|
|
|
|
var pkg = require('./package.json');
|
|
var banner = '/*! <%= pkg.title %> - v<%= pkg.version %>\n' +
|
|
' * <%= pkg.homepage %>\n' +
|
|
' * Licensed GPLv2+' +
|
|
' */\n';
|
|
|
|
gulp.task('default', function() {
|
|
gulp.start('sass', 'coffee', 'images');
|
|
});
|
|
|
|
gulp.task('sass', function() {
|
|
return gulp.src('assets/src/sass/**/*.scss')
|
|
.pipe(plumber())
|
|
.pipe(sass({ style: 'expanded', bare: true })).on('error', gutil.log)
|
|
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
|
|
.pipe(gulp.dest('assets/dist/css/'))
|
|
.pipe(livereload(server))
|
|
.pipe(rename({suffix: '.min'}))
|
|
.pipe(minifycss())
|
|
.pipe(gulp.dest('assets/dist/css/'))
|
|
.pipe(notify({ message: "Styles compiled."} ));
|
|
});
|
|
|
|
gulp.task('coffee', function() {
|
|
build(gulp.src(['assets/src/coffee/**/*.coffee', '!assets/src/coffee/settings/**/*.coffee']));
|
|
build(gulp.src([
|
|
'assets/src/coffee/settings/utils.coffee',
|
|
'assets/src/coffee/settings/invite.coffee',
|
|
'assets/src/coffee/settings/multisite.coffee',
|
|
'assets/src/coffee/settings/tutorial.coffee',
|
|
'assets/src/coffee/settings/settings.coffee',
|
|
'assets/src/coffee/settings/connect.coffee',
|
|
'assets/src/coffee/settings/pro.coffee'
|
|
]), 'settings.js');
|
|
build(gulp.src([
|
|
'assets/src/coffee/settings/utils.coffee',
|
|
'assets/src/coffee/settings/tutorial.coffee',
|
|
'assets/src/coffee/settings/connect.coffee'
|
|
]), 'connect.js'
|
|
)
|
|
|
|
function build(strm, output) {
|
|
strm = strm
|
|
.pipe(plumber())
|
|
.pipe(coffeelint({
|
|
"indentation": {
|
|
"name": "indentation",
|
|
"value": 4,
|
|
"level": "error"
|
|
}
|
|
}))
|
|
.pipe(coffeelint.reporter())
|
|
.pipe(coffee({bare: true})).on('error', gutil.log);
|
|
|
|
if (output) {
|
|
strm = strm.pipe(concat(output));
|
|
}
|
|
|
|
strm
|
|
.pipe(gulp.dest('assets/dist/js/'))
|
|
.pipe(livereload(server))
|
|
.pipe(rename({suffix: '.min'}))
|
|
.pipe(uglify())
|
|
.pipe(header(banner, { pkg: pkg }))
|
|
.pipe(gulp.dest('assets/dist/js/'));
|
|
}
|
|
});
|
|
|
|
gulp.task('images', function() {
|
|
return gulp.src('assets/src/img/**/*')
|
|
.pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true}))
|
|
.pipe(gulp.dest('assets/dist/img/'))
|
|
.pipe(livereload(server))
|
|
.pipe(notify({message: "Images minified."}));
|
|
});
|
|
|
|
gulp.task('build', function() {
|
|
runSequence(
|
|
['images', 'sass', 'coffee'],
|
|
function() {
|
|
gulp.src(
|
|
[
|
|
'templates/**',
|
|
'languages/**',
|
|
'includes/**',
|
|
'assets/**',
|
|
'clef-require.php',
|
|
'wpclef.php'
|
|
],
|
|
{ base: './' }
|
|
).pipe(gulp.dest('build/wpclef/'))
|
|
.pipe(zip('wpclef.zip'))
|
|
.pipe(gulp.dest('build/'));
|
|
}
|
|
);
|
|
})
|
|
|
|
gulp.task('watch', function() {
|
|
server.listen(35729, function(err) {
|
|
if (err) {
|
|
gutil.log(err);
|
|
}
|
|
});
|
|
|
|
gulp.watch('assets/src/**/*.scss', ['sass']);
|
|
gulp.watch('assets/src/**/*.coffee', ['coffee']);
|
|
gulp.watch('assets/src/img/**/*', ['images']);
|
|
});
|