1var gulp = require('gulp'), 2 uglify = require('gulp-uglify'), 3 less = require('gulp-less'), 4 rename = require('gulp-rename'), 5 minify = require('gulp-minify-css'); 6 7var static = 'static'; 8var src = { 9 js: static + '/js/hljs.js', 10 less: static + '/less/hljs.less', 11}; 12var dest = { 13 js: static + '/js', 14 css: static + '/css', 15}; 16 17 18// Uglfiy JS files 19gulp.task('uglify-js', function () { 20 return gulp.src(src.js) 21 .pipe(uglify()) 22 .pipe(rename({ 23 extname: '.min.js' 24 })) 25 .pipe(gulp.dest(dest.js)); 26}); 27 28// Compile less to css 29gulp.task('compile-less', function () { 30 return gulp.src(src.less) 31 .pipe(less()) 32 .pipe(minify()) 33 .pipe(rename({ 34 extname: '.min.css' 35 })) 36 .pipe(gulp.dest(dest.css)); 37}); 38 39var exec = require('child_process').exec; 40 41// Compile Highlight.JS library 42gulp.task('compile-highlightjs', function (cb) { 43 var cmd = 'cd highlightjs;'; 44 cmd += 'node tools/build.js -t cdn;'; 45 cmd += '(test -d "../static/lib/highlightjs" || mkdir -p "../static/lib/highlightjs");'; 46 cmd += 'cp -Rf build/* ../static/lib/highlightjs/'; 47 48 exec(cmd, function (err, stdout, stderr) { 49 console.log(stdout); 50 console.log(stderr); 51 cb(err); 52 }); 53}); 54 55 56// Default Task 57gulp.task('default', [ 58 'uglify-js', 'compile-less', 59 'compile-highlightjs' 60]);