-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gulpfile.js
85 lines (76 loc) · 2.13 KB
/
Gulpfile.js
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
78
79
80
81
82
83
84
85
var autoprefixer = require("gulp-autoprefixer")
var browserify = require("gulp-browserify")
var concat = require("gulp-concat")
var connect = require("gulp-connect")
var data = require("gulp-data")
var gulp = require("gulp")
var nunjucksRender = require("gulp-nunjucks-render")
var plumber = require("gulp-plumber")
var rename = require("gulp-rename")
var sass = require("gulp-sass")
var paths = {
assets: "assets",
fonts: "source/fonts/*.*",
images: "source/images/*",
js: "source/javascripts/**/*.js",
root: "./",
stylesheets: "source/stylesheets/**/*.scss",
stylesheets_master: "source/stylesheets/slides.scss",
stylesheets_dir: "source/stylesheets/",
templates: "source/templates/**/*.html",
templates_dir: "source/templates/",
templates_master: "source/templates/slides.html"
}
gulp.task("layout", function() {
nunjucksRender.nunjucks.configure(paths.templates_dir)
return gulp.src(paths.templates_master)
.pipe(nunjucksRender({
red: "#c52d2f",
slate: "#393b44",
smoke: "#ececec",
}))
.pipe(rename("index.html"))
.pipe(gulp.dest(paths.root))
.pipe(connect.reload())
})
gulp.task("js", function() {
return gulp.src(paths.js)
.pipe(plumber())
.pipe(browserify({
transform: ["babelify"],
debug: true,
}))
.pipe(gulp.dest(paths.assets))
.pipe(connect.reload())
})
gulp.task("sass", function() {
return gulp.src(paths.stylesheets)
.pipe(plumber())
.pipe(sass())
.pipe(autoprefixer())
.pipe(gulp.dest(paths.assets))
.pipe(connect.reload())
})
gulp.task("fonts", function() {
return gulp.src(paths.fonts)
.pipe(gulp.dest(paths.assets))
.pipe(connect.reload())
})
gulp.task("images", function() {
return gulp.src(paths.images)
.pipe(gulp.dest(paths.assets))
.pipe(connect.reload())
})
gulp.task("watch", function() {
gulp.watch(paths.js, ["js"])
gulp.watch(paths.stylesheets, ["sass"])
gulp.watch(paths.templates, ["layout"])
})
gulp.task("connect", function() {
connect.server({
livereload: true,
port: 8000
})
})
gulp.task("build", ["js", "sass", "fonts", "images", "layout"])
gulp.task("default", ["build", "watch", "connect"])