127 lines
2.6 KiB
JavaScript
127 lines
2.6 KiB
JavaScript
|
/*
|
||
|
#
|
||
|
*/
|
||
|
var exec = require('child_process').exec;
|
||
|
var gulp = require("gulp");
|
||
|
var concat = require("gulp-concat");
|
||
|
var merge = require("merge-stream");
|
||
|
var rename = require("gulp-rename");
|
||
|
var sass = require("gulp-sass");
|
||
|
var browserify = require('gulp-browserify');
|
||
|
var bsync = require("browser-sync");
|
||
|
var path = require('path');
|
||
|
|
||
|
/*
|
||
|
## Copy over files
|
||
|
*/
|
||
|
|
||
|
gulp.task( "copy", function(done) {
|
||
|
|
||
|
// Copy over stuff
|
||
|
|
||
|
var fonts = gulp.src( ["node_modules/font-awesome/fonts/**/"] )
|
||
|
.pipe( gulp.dest("_assets/website/fonts/fontawesome/") )
|
||
|
;
|
||
|
|
||
|
var img = gulp.dest("_assets/website/images/")
|
||
|
;
|
||
|
|
||
|
var merged = merge( fonts, img );
|
||
|
// merged.add(js);
|
||
|
|
||
|
|
||
|
// return merged;
|
||
|
done();
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
/*
|
||
|
## Build gitbook core JS
|
||
|
*/
|
||
|
|
||
|
gulp.task('core-js', function()
|
||
|
{
|
||
|
return gulp.src('src/js/core/index.js')
|
||
|
.pipe(browserify({
|
||
|
insertGlobals : true
|
||
|
}))
|
||
|
.pipe(rename('gitbook.js'))
|
||
|
.pipe(gulp.dest('./_assets/website/'))
|
||
|
});
|
||
|
|
||
|
/*
|
||
|
## Build theme JS
|
||
|
*/
|
||
|
|
||
|
gulp.task('theme-js', function()
|
||
|
{
|
||
|
return gulp.src('src/js/theme/index.js')
|
||
|
.pipe(browserify({
|
||
|
insertGlobals : true
|
||
|
}))
|
||
|
.pipe(rename('theme.js'))
|
||
|
.pipe(gulp.dest('./_assets/website/'))
|
||
|
});
|
||
|
|
||
|
|
||
|
/*
|
||
|
## Compile the SASS into a single CSS file
|
||
|
*/
|
||
|
|
||
|
gulp.task('sass', function() {
|
||
|
|
||
|
console.log( "sassing" );
|
||
|
// Compile
|
||
|
return gulp.src('./src/scss/website.scss')
|
||
|
.pipe( sass().on( 'error', sass.logError ) )
|
||
|
.pipe(rename('style.css'))
|
||
|
.pipe( gulp.dest( './_assets/website/' ) )
|
||
|
;
|
||
|
});
|
||
|
|
||
|
gulp.task("reload", function(done)
|
||
|
{
|
||
|
console.log("Reloading gitbook....")
|
||
|
exec('cd ../starter-kit/documentation/ && gitbook build', function (err, stdout, stderr)
|
||
|
{
|
||
|
console.log(stdout);
|
||
|
console.log(stderr);
|
||
|
bsync.reload();
|
||
|
});
|
||
|
|
||
|
done();
|
||
|
|
||
|
});
|
||
|
|
||
|
/*
|
||
|
## Development web server and file watcher
|
||
|
*/
|
||
|
|
||
|
gulp.task("server", function(done) {
|
||
|
|
||
|
bsync.init(
|
||
|
{
|
||
|
server: '../starter-kit/documentation/_book',
|
||
|
open: false
|
||
|
});
|
||
|
|
||
|
// Watch files
|
||
|
gulp.watch( 'src/js/core/**/*.js', gulp.series('core-js', 'reload') );
|
||
|
gulp.watch( 'src/js/theme/**/*.js', gulp.series('theme-js', 'reload') );
|
||
|
gulp.watch( 'src/**/*.scss', gulp.series('sass', 'reload') );
|
||
|
gulp.watch( '_layouts/**/*.html', gulp.series('reload') );
|
||
|
|
||
|
done();
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
# Define main gulp tasks
|
||
|
*/
|
||
|
|
||
|
gulp.task("build", gulp.series( "copy", "core-js", "theme-js", "sass" ) );
|
||
|
gulp.task("default", gulp.series( "build", "server", "reload" ) );
|