blob: 22d719ff5ad6210f1c2a5c1d53175fdd200df3fb [file] [log] [blame]
'use strict';
var path = require('path');
var gulp = require('gulp');
var less = require('gulp-less');
var rename = require('gulp-rename');
var minifyCss = require('gulp-minify-css');
var prefix = require('gulp-autoprefixer');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var BASE_DIR = path.join(__dirname, 'src', 'main', 'org', 'freemarker', 'docgen');
var OUT_DIR = path.join(BASE_DIR, 'statics');
gulp.task('styles', function() {
gulp.src(path.join(BASE_DIR, 'less', 'styles.less'))
.pipe(less({ paths: path.join(__dirname, 'node_modules') }))
// rename and prefix
.pipe(rename({ basename: 'docgen' }))
.pipe(prefix({ cascade: false }))
.pipe(gulp.dest(OUT_DIR))
// minify
.pipe(rename({ suffix: '.min' }))
.pipe(minifyCss({
advanced: false,
restructuring: false,
aggressiveMerging: false
}))
.pipe(gulp.dest(OUT_DIR));
});
gulp.task('js', function() {
return gulp.src([
path.join(BASE_DIR, 'js', 'use-strict.js'),
path.join(BASE_DIR, 'js', 'make-toc.js'),
path.join(BASE_DIR, 'js', 'page-menu.js')
])
.pipe(concat('main.js'))
.pipe(gulp.dest(OUT_DIR))
.pipe(uglify())
.pipe(rename({ suffix: '.min' }))
.pipe(gulp.dest(OUT_DIR));
});
gulp.task('default', ['styles', 'js']);
gulp.task('watch-less', ['styles'], function() {
// watch less files
gulp.watch([path.join(BASE_DIR, 'less', '**', '*')], ['styles']);
});