summaryrefslogtreecommitdiffstats
path: root/gulpfile.js
blob: 570b6a0385f5f302898abe10c6b91a697bd1ce6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var _ = require('lodash');
var gulp = require('gulp');
var gutil = require('gulp-util');
var less = require('gulp-less');
var rename = require('gulp-rename');
var minifyCSS = require('gulp-minify-css');
var browserify = require('browserify');
var mergeStream = require('merge-stream');
var source = require('vinyl-source-stream');

gulp.task('css', function() {
    var merged = mergeStream();

    _.each({
        'ebook.less': 'ebook/ebook.css',
        'pdf.less': 'ebook/pdf.css',
        'mobi.less': 'ebook/mobi.css',
        'epub.less': 'ebook/epub.css',
        'website.less': 'website/style.css'
    }, function(out, input) {
        gutil.log('compiling', input, 'into', out);
        merged.add(gulp.src('theme/stylesheets/'+input)
            .pipe(less())
            .pipe(minifyCSS())
            .pipe(rename(out))
            .pipe(gulp.dest('theme/assets/')));
    });

    return merged;
});

gulp.task('js', function() {
    return browserify('./theme/javascript/index.js')
        .bundle()
        .pipe(source('app.js'))
        .pipe(gulp.dest('./theme/assets/website'));
});

gulp.task('assets', function() {
    return gulp.src('./node_modules/font-awesome/fonts/*')
    .pipe(gulp.dest('theme/assets/website/fonts/fontawesome/'));
});

gulp.task('default', ['css', 'js', 'assets'], function() {

});