mirror of
https://github.com/Lissy93/md-cv-maker.git
synced 2021-05-12 19:52:19 +03:00
94 lines
2.5 KiB
JavaScript
94 lines
2.5 KiB
JavaScript
|
|
var gulp = require('gulp');
|
|
var gutil = require ('gulp-util');
|
|
var del = require('del');
|
|
var jade = require('gulp-jade');
|
|
var coffee = require('gulp-coffee');
|
|
var concat = require('gulp-concat');
|
|
var uglify = require('gulp-uglify');
|
|
var sass = require('gulp-sass');
|
|
var copy = require('gulp-copy');
|
|
var cleanCSS= require('gulp-clean-css');
|
|
|
|
|
|
// Compile Jade views into HTML
|
|
gulp.task('views', function() {
|
|
locals = require('./src/locals.json');
|
|
gulp.src('./src/views/*.jade')
|
|
.pipe(jade({locals: locals}))
|
|
.pipe(gulp.dest('./production/'))
|
|
});
|
|
|
|
|
|
// Compile CoffeeScript into JS, concat and minify
|
|
gulp.task('coffee', function() {
|
|
gulp.src('./src/scripts/**/*.coffee')
|
|
.pipe(coffee({bare: true}).on('error', gutil.log))
|
|
.pipe(concat('scripts.js'))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest('./production/js'));
|
|
});
|
|
|
|
|
|
// Compile SASS into CSS, concat and minify
|
|
gulp.task('sass', function () {
|
|
return gulp.src('./src/styles/basic.sass')
|
|
.pipe(sass().on('error', gutil.log))
|
|
.pipe(concat('styles.css'))
|
|
.pipe(cleanCSS({compatibility: 'ie8'}))
|
|
.pipe(gulp.dest('./production/css'));
|
|
});
|
|
|
|
|
|
// Copy all static assets to production
|
|
gulp.task('assets', function () {
|
|
return gulp.src('./src/assets/**/*')
|
|
.pipe(gulp.dest('./production/assets'));
|
|
});
|
|
|
|
|
|
// Watch source for changes, and run appropriate task
|
|
gulp.task('watch', function() {
|
|
gulp.watch('src/views/**/*.jade', ['views'] );
|
|
gulp.watch('src/scripts/**/*.coffee', ['coffee'] );
|
|
gulp.watch('src/styles/**/*.sass', ['sass'] );
|
|
gulp.watch('src/assets/**/*', ['assets'] );
|
|
gulp.watch('src/locals.json', ['build']);
|
|
});
|
|
|
|
|
|
// Run tests
|
|
gulp.task('test', function(){
|
|
gutil.log(gutil.colors.yellow(
|
|
'No tests have been configured in the gulpfile yet.'
|
|
));
|
|
});
|
|
|
|
|
|
// Copy lib files
|
|
gulp.task('lib', function(){
|
|
listOfLibraries = ['node_modules/materialize-css/dist/css/materialize.min.css']
|
|
return gulp
|
|
.src(listOfLibraries)
|
|
.pipe(copy('production/lib'))
|
|
});
|
|
|
|
|
|
// Delete production files
|
|
gulp.task('clean', function () {
|
|
return del([ 'production' ]);
|
|
});
|
|
|
|
|
|
// Build complete project
|
|
gulp.task('build', ['clean'], function(){
|
|
gulp.start('views', 'coffee', 'sass', 'assets', 'lib');
|
|
gutil.beep(); // Delete this line if you don't like the sound effects!
|
|
});
|
|
|
|
|
|
// Default task - build the project then run tests
|
|
gulp.task('default', ['build'], function(){
|
|
gulp.start('test');
|
|
});
|