-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
52 lines (47 loc) · 1.34 KB
/
gulpfile.js
File metadata and controls
52 lines (47 loc) · 1.34 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
const { src, dest, watch, series } = require('gulp')
const less = require('gulp-less')
const prince = require('prince')
const util = require('util')
const cp = require('child_process')
const babel = require('gulp-babel')
const css = () => {
return src(['./_source/_less/styles.less', './_source/_less/pdf-styles.less'])
.pipe(less())
.pipe(dest('./_site/assets'))
}
const eleventyLocal = (callback) => {
return cp.spawn("npx", ["eleventy", '--serve'], { stdio: "inherit" })
callback()
}
const eleventy = (callback) => {
return cp.spawn("npx", ["@11ty/eleventy"], { stdio: "inherit" })
callback()
}
const pdf = (callback) => {
prince()
.inputs('./_site/index.html')
.output('./_site/jon-roobottom-cv.pdf')
.option('style', './_site/assets/pdf-styles.css')
.execute()
.then(function () {
console.log('PDF generated OK')
}, function() {
console.log('PDF generation failed', util.inspect(error))
})
callback()
}
const js = (callback) => {
return src('./_source/app.js')
.pipe(babel({
presets: ['@babel/env']
}))
.pipe(dest('./_site'))
}
exports.default = function(callback) {
eleventyLocal()
watch(['./_site/index.html', './_source/_less/**/*.less', './_source/app.js'],
{ ignoreInitial: false },
series(css, js, pdf))
callback()
}
exports.build = series(eleventy, js, css, pdf)