Files
website/gulpfile.js
T
2016-02-07 13:20:17 -05:00

69 lines
1.8 KiB
JavaScript

var gulp = require('gulp');
var bower = require('gulp-bower');
var help = require('gulp-task-listing');
var clean = require('gulp-clean');
var sass = require('gulp-sass');
var rename = require("gulp-rename");
var yaml = require('gulp-yaml');
var template = require('gulp-template');
var webserver = require('gulp-webserver');
gulp.task('help', help);
gulp.task('bower', function(){
return bower()
.pipe(gulp.dest('lib/'))
.on('error', console.log);
});
gulp.task('sass', ['bower'], function(){
var extraSassPath = ['./lib/'];
return gulp.src('./scss/*.scss')
.pipe(sass({includePaths: extraSassPath}).on('error', console.log))
.pipe(gulp.dest('./css'));
});
gulp.task('clean', function(){
return gulp.src(["lib/", "css/"], {read: false})
.pipe(clean());
});
gulp.task('compile-results', function(){
return gulp.src('data/*.yaml')
.pipe(yaml({safe: true}))
.pipe(gulp.dest('./api'));
});
gulp.task('template-prod', function () {
return gulp.src('index.tmpl.html')
.pipe(rename("index.html"))
.pipe(template({production: true}))
.pipe(gulp.dest('.'));
});
gulp.task('template-dev', function () {
return gulp.src('index.tmpl.html')
.pipe(rename("index.html"))
.pipe(template({production: false}))
.pipe(gulp.dest('.'));
});
gulp.task('default', ['bower', 'sass', 'compile-results']);
gulp.task('prod', ['default', 'template-prod']);
gulp.task('webserver', function(){
return gulp.src('.')
.pipe(webserver({
livereload: false,
directoryListing: false,
}));
});
gulp.task('dev', ['default', 'webserver', 'template-dev'], function(){
gulp.watch('./scss/*.scss', ['sass']);
gulp.watch('*.tmpl.html', ['template-dev']);
return gulp.watch('./data/*.yaml', ['compile-results']);
});