-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
77 lines (67 loc) · 2.07 KB
/
Copy pathgulpfile.js
File metadata and controls
77 lines (67 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
hologram = require('gulp-hologram'),
webserver = require('gulp-webserver'),
bump = require('gulp-bump'),
filter = require('gulp-filter'),
git = require('gulp-git'),
tag_version = require('gulp-tag-version'),
notify = require('gulp-notify'),
deploy = require('gulp-gh-pages')
request = require('superagent')
Q = require('q');
// Dev task: build, serve and watch
gulp.task('default', function() {
gulp.start('sass', 'hologram', 'watch', 'webserver');
});
gulp.task('watch', function() {
gulp.watch('src/**/*.scss', ['sass', 'hologram']);
});
// Compile sass files
gulp.task('sass', function() {
return gulp.src('src/style-guide.scss')
.pipe(sass({ style: 'expanded', loadPath: ['./bower_components/'] }))
.on('error', function (err) { console.log(err.message); })
.pipe(gulp.dest('dist'))
.pipe(notify({message: 'Sass task complete'}));
});
// Compile style-guide
gulp.task('hologram', ['sass'], function() {
return gulp.src('hologram.yml')
.pipe(hologram())
.pipe(notify({message: 'Hologram task complete'}));
});
// Serve the style-guide
gulp.task('webserver', function() {
gulp.src('public')
.pipe(webserver({
livereload: true
}));
});
// Release: increase version number, commit, tag, push to master.
// then compile the styleguide and push it to gh-pages
gulp.task('release', function() {
gulp.start('gh-pages');
});
gulp.task('bump', function() {
var importance = 'minor';
return gulp.src(['./package.json', './bower.json'])
.pipe(bump({type: importance}))
.pipe(gulp.dest('./'))
.pipe(git.commit('bump version number'));
});
gulp.task('tag', ['bump'], function() {
var packageJson = require('./package.json');
var v = packageJson.version;
var message = 'release v'+v;
git.tag(v, message, function(e) {
if (e) throw e;
git.push('origin', 'master', {args: '--tags'}, function(e) {
if (e) throw e;
});
});
});
gulp.task('gh-pages', ['tag', 'sass', 'hologram'], function() {
return gulp.src('./public/')
.pipe(deploy());
});