Skip to content

Commit

Permalink
refactor gulpfile
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianRossouw committed Apr 20, 2014
1 parent fffadc7 commit f1b5a3a
Show file tree
Hide file tree
Showing 10 changed files with 98 additions and 67 deletions.
1 change: 1 addition & 0 deletions _config.yml
@@ -1,6 +1,7 @@
paginate: 8
exclude:
- README.md
- gulp
- .gitignore
- bower_components
- node_modules
Expand Down
8 changes: 8 additions & 0 deletions gulp/bootstrap.coffee
@@ -0,0 +1,8 @@
gulp = require("gulp")

gulp.task "bootstrap", ->
bowerSrc = __dirname + "/../bower_components"
bootstrapSrc = bowerSrc + "/bootstrap"

gulp.src(bootstrapSrc + "/fonts/**")
.pipe gulp.dest("build/fonts")
5 changes: 5 additions & 0 deletions gulp/build.coffee
@@ -0,0 +1,5 @@
gulp = require('gulp')

gulp.task "build", ->
gulp.src("build/css/**")
.pipe gulp.dest("_site/build/css")
12 changes: 12 additions & 0 deletions gulp/index.coffee
@@ -0,0 +1,12 @@
# All the gulp tasks

require("./less")
require("./bootstrap")
require("./server")
require("./build")
require("./watch")
require("./jekyll")

gulp = require('gulp')

gulp.task('default', ['less', 'bootstrap', 'jekyll', 'build'])
13 changes: 13 additions & 0 deletions gulp/jekyll.coffee
@@ -0,0 +1,13 @@
child_process = require('child_process')
gulp = require('gulp')

gulp.task "jekyll", (next) ->
opts = [
"build"
"--config"
"_config.yml,_test.yml"
]
require("child_process").spawn("jekyll", opts, stdio: "inherit")
.on('close', -> next() )
.on('error', (err) -> next(err) )

22 changes: 22 additions & 0 deletions gulp/less.coffee
@@ -0,0 +1,22 @@
_ = require('underscore')
gulp = require('gulp')
gutil = require('gulp-util')
less = require('gulp-less')

gulp.task "less", ->
bowerSrc = __dirname + "/../bower_components"

# set up some paths for less to import from
paths = [
__dirname + "/../less"
bowerSrc + "/bootstrap/less"
bowerSrc + "/lesshat/build"
]

gulp.src("less/*.less")
.pipe(less(paths: paths))
.on("error", gutil.log)
.pipe gulp.dest("build/css")

gulp.src("less/*.css")
.pipe gulp.dest("build/css")
11 changes: 11 additions & 0 deletions gulp/server.coffee
@@ -0,0 +1,11 @@
gulp = require('gulp')
express = require('express')

gulp.task "server", ["watch"], (next) ->
app = new express()

#app.use(new express.logger());
app.use new express.static(__dirname + "/_site")
app.listen 4000, next
console.log "listening on port 4000"
return
20 changes: 20 additions & 0 deletions gulp/watch.coffee
@@ -0,0 +1,20 @@
gulp = require("gulp")
livereload = require('gulp-livereload')

server = null

gulp.task "watch", ["default"], ->
server ?= livereload()

gulp.watch "less/**", ["less"]
gulp.watch "build/**", ["copy-build"]
gulp.watch [
"index.html"
"_posts/**"
"_includes/**"
"_layouts/**"
"portfolio/**"
], ["jekyll"]
gulp.watch "_site/**", (file) ->
server.changed file.path

70 changes: 3 additions & 67 deletions gulpfile.js
@@ -1,68 +1,4 @@
var gulp = require('gulp');
var gutil = require('gulp-util');
var less = require('gulp-less');
var livereload = require('gulp-livereload');
var watch = require('gulp-watch');
var express = require('express');
var _ = require('underscore');
// managed using coffeescript in gulp submodule
require('coffee-script').register();

var bowerSrc = __dirname + '/bower_components';
var bootstrapSrc = bowerSrc + '/bootstrap';
var lesshatSrc = bowerSrc + '/lesshat';
var server = livereload();

gulp.task('less', _.debounce(function() {
// set up some paths for less to import from
var paths = [];
paths.push(__dirname + '/less');
paths.push(bootstrapSrc + '/less');
paths.push(lesshatSrc + '/build');

gulp.src('less/*.less')
.pipe(less({paths:paths}))
.on('error', gutil.log)
.pipe(gulp.dest('build/css'));

gulp.src('less/*.css')
.pipe(gulp.dest('build/css'));

}, 200));

gulp.task('bootstrap', _.debounce(function() {
gulp.src(bootstrapSrc + '/fonts/**')
.pipe(gulp.dest('build/fonts'));
}, 200));

gulp.task('jekyll', _.debounce(function(next) {
return require('child_process').spawn('jekyll', ['build', '--config', '_config.yml,_test.yml'], {stdio: 'inherit'});
}, 400));

gulp.task('server', ['watch'], function(next) {
var app = new express();
//app.use(new express.logger());
app.use(new express.static(__dirname + '/_site'));
app.listen(4000, next);
console.log("listening on port 4000");
});

gulp.task('copy-build', _.debounce(function() {
gulp.src('build/css/**')
.pipe(gulp.dest('_site/build/css'));
}, 200));

gulp.task('default', ['less', 'bootstrap', 'jekyll', 'copy-build']);

gulp.task('watch', ['default'], function() {
gulp.watch('less/**', ['less']);
gulp.watch('build/**', ['copy-build']);
gulp.watch([
'index.html',
'_posts/**',
'_includes/**',
'_layouts/**',
'portfolio/**',
], ['jekyll']);
gulp.watch('_site/**', function(file) {
server.changed(file.path);
});
});
require('./gulp');
3 changes: 3 additions & 0 deletions package.json
Expand Up @@ -28,5 +28,8 @@
"express": "^3.4.8",
"gulp-watch": "^0.5.0",
"underscore": "~1.6.0"
},
"dependencies": {
"coffee-script": "^1.7.1"
}
}

0 comments on commit f1b5a3a

Please sign in to comment.