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