papercss/gulpfile.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-12-23 10:42:29 +01:00
'use strict';
2017-12-08 20:34:56 +01:00
const gulp = require('gulp'),
sass = require('gulp-sass'),
cleanCSS = require('gulp-clean-css'),
2017-11-25 09:25:43 +01:00
rename = require('gulp-rename'),
exec = require('child_process').execFile,
hugo = require('hugo-bin')
gulp.task('sass', function() {
2017-12-23 09:50:09 +01:00
gulp.src('src/**/*.scss')
.pipe(sass.sync().on('error', sass.logError))
.pipe(cleanCSS({format: 'beautify'}))
2017-10-28 14:05:30 +02:00
.pipe(rename('paper.css'))
2017-09-27 23:10:41 +02:00
.pipe(gulp.dest('dist'))
2017-12-28 07:07:35 +01:00
.pipe(gulp.dest('docs/static/assets'));
2017-09-27 23:10:41 +02:00
});
gulp.task('watch', function () {
2017-12-23 09:50:09 +01:00
gulp.watch('src/**/*.scss', ['sass']);
});
2017-11-25 09:25:43 +01:00
gulp.task('hugo-server', function (cb) {
let hugo_process = exec(
2017-12-28 07:07:35 +01:00
hugo, ['server', '--source=docs', '--disableFastRender'],
2017-11-25 09:25:43 +01:00
function (err, stdout, stderr) {
console.log(stderr);
return err ? cb(err) : cb();
}
);
hugo_process.stdout.pipe(process.stdout);
return hugo_process;
})
gulp.task('hugo-build', function (cb) {
let hugo_process = exec(
2017-12-28 07:07:35 +01:00
hugo, ['--source=docs'],
2017-11-25 09:25:43 +01:00
function (err, stdout, stderr) {
console.log(stderr);
return err ? cb(err) : cb();
}
);
hugo_process.stdout.pipe(process.stdout);
return hugo_process;
})
gulp.task('minify-css', () => {
2017-12-23 10:42:29 +01:00
return gulp.src('src/**/*.scss')
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(rename('paper.min.css'))
2017-11-25 09:25:43 +01:00
.pipe(gulp.dest('dist'))
2017-12-28 07:07:35 +01:00
.pipe(gulp.dest('docs/static/assets'));
});
2017-11-25 09:25:43 +01:00
gulp.task('default', ['sass','watch','hugo-server']);
gulp.task('build', ['sass','minify-css','hugo-build']);