'use strict'; const gulp = require('gulp'), riot = require('gulp-riot'), concat = require('gulp-concat'), minify = require('gulp-minify'), cssmin = require('gulp-cssmin'), ref = require('gulp-useref'); // create task gulp.task('default', ['build'], function () {}); // build riotjs tags (components) gulp.task('tags', function () { gulp.src('./src/public/views/**/*.tag.html') .pipe(concat('tags.js')) .pipe(riot({compact: true, whitespace: false})) .pipe(minify()) .pipe(gulp.dest('./dist/js')) }); // combine javascript files gulp.task('javascript', function () { gulp.src('./src/public/js/**/*.js') .pipe(concat('combined.js')) // .pipe(minify()) .pipe(gulp.dest('./dist/js')) }); // move fonts gulp.task('fonts', function () { gulp.src('./src/public/fonts/**/*.ttf') .pipe(gulp.dest('./dist/fonts')) }); // move images // TODO: minimize gulp.task('images', function () { gulp.src('./src/public/images/**/*') .pipe(gulp.dest('./dist/img')) }); // combine css gulp.task('css', function () { gulp.src('css/*.css') .pipe(concat('styles.css')) .pipe(cssmin()) .pipe(gulp.dest('./dist/css')) }); // build everything for production distribution gulp.task('build', ['tags', 'javascript', 'css', 'fonts', 'images'], function () { gulp.src(['./src/public/index.html']) .pipe(ref()) .pipe(gulp.dest('./dist')) });