Files
gitbook-html2print/gulpfile.js
T

56 lines
1.4 KiB
JavaScript

'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass');
var rename = require('gulp-rename');
var shell = require('gulp-shell')
var watch = require('gulp-watch');
var webserver = require('gulp-webserver');
var portscanner = require('portscanner');
gulp.task('webserver', ['build'], function() {
// Find the first available port. Asynchronously checks, so first port
// determined as available is returned.
portscanner.findAPortNotInUse(8000, 8020, '127.0.0.1', function(error, port) {
// console.log('AVAILABLE PORT AT: ' + port)
gulp.src('.')
.pipe(webserver({
port:port,
livereload: false,
directoryListing: false,
open: false,
fallback: 'index.html'
}));
})
});
gulp.task('scss', function () {
gulp.src('./assets/css/main.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./assets/css/dist'));
});
gulp.task('gui', function () {
gulp.src('./assets/css/gui.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./assets/css/dist'));
});
gulp.task('sync', shell.task([
'./bin/sync.sh'
]));
gulp.task('build', ['sync'], shell.task([
'./bin/build.py'
]));
// default gulp task
gulp.task('default', ['scss', 'gui', 'webserver'], function() {
gulp.watch('./assets/css/**/*.scss', ['scss']);
gulp.watch('./assets/css/gui.scss', ['gui']);
gulp.watch(['bin/build.py', './book-src/*', './templates/*.tpl.html'], ['build']);
});