Files
website/gulpfile.js
FreneticScribbler 4c7b7b479d Gulp system
Needs adding to the automation pipeline but manual will do for now...
2020-07-15 22:58:44 +01:00

45 lines
1.1 KiB
JavaScript

"use strict";
var gulp = require('gulp');
var autoprefixer = require('autoprefixer')
var terser = require('gulp-terser');
var sass = require('gulp-sass');
var postcss = require('gulp-postcss')
var flatten = require('gulp-flatten');
var csso = require('gulp-csso');
var spawn = require('child_process').spawn;
sass.compiler = require('node-sass');
function styles(done) {
return gulp.src(['src/sass/screen.scss'])
.pipe(sass().on('error', sass.logError))
.pipe(flatten())
.pipe(postcss([ autoprefixer() ]))
.pipe(csso())
.pipe(gulp.dest('static/css/'))
.on('end', done);
}
function scripts(done) {
return gulp.src(['node_modules/@fortawesome/fontawesome-free/js/all.min.js'])
.pipe(flatten())
.pipe(terser())
.pipe(gulp.dest('static/js/'))
.on('end', done);
}
function up(done) {
spawn('hugo', ['serve', '-w', '-D'], {stdio: 'inherit'});
done();
}
function watchFiles(done) {
gulp.watch("src/sass/*.scss", styles);
done();
}
exports.build = gulp.parallel(styles, scripts);
exports.watch = gulp.parallel(watchFiles, up);