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]);