-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgulpfile.js
104 lines (94 loc) · 3.24 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
"use strict";
var fs = require('fs'),
gulp = require('gulp'),
chmod = require('gulp-chmod'),
concat = require('gulp-concat'),
environments = require('gulp-environments'),
header = require('gulp-header'),
merge = require('merge-stream'),
myth = require('gulp-myth'),
terser = require('gulp-terser'),
uglifycss = require('gulp-uglifycss');
var config = {
pkg: JSON.parse(fs.readFileSync('./bower.json')),
banner:
'/*!\n' +
' * <%= pkg.name %> - <%= pkg.description %>\n' +
' * Website: <%= pkg.homepage %>\n' +
' */\n',
files: {
style: [
'src/css/font.css',
'src/css/common.css',
'src/css/header.css',
'src/css/sidebar.css',
'src/css/content.css',
'src/css/highlight.css',
'src/css/footer.css'
],
html: [
'src/html/*',
],
vendor: {
css: [
'vendor/bower_components/font-awesome/css/font-awesome.min.css'
],
fonts: [
'vendor/bower_components/font-awesome/fonts/fontawesome-webfont.eot',
'vendor/bower_components/font-awesome/fonts/fontawesome-webfont.svg',
'vendor/bower_components/font-awesome/fonts/fontawesome-webfont.ttf',
'vendor/bower_components/font-awesome/fonts/fontawesome-webfont.woff',
'vendor/bower_components/font-awesome/fonts/fontawesome-webfont.woff2',
'vendor/bower_components/roboto-googlefont/Roboto-Medium.ttf',
'vendor/bower_components/roboto-googlefont/Roboto-Regular.ttf',
'vendor/bower_components/roboto-googlefont/Roboto-Italic.ttf',
'vendor/bower_components/robotomono-googlefont/RobotoMono-Medium.ttf',
'vendor/bower_components/robotomono-googlefont/RobotoMono-Regular.ttf'
],
images: [
'src/images/*'
],
js: [
'vendor/bower_components/prism/prism.js'
]
}
}
};
function copyScript() {
return gulp.src(config.files.vendor.js)
.pipe(concat('vendor.js'))
.pipe(environments.production(terser()))
.pipe(chmod(0o644))
.pipe(gulp.dest('static/assets/js'));
}
function buildStyle() {
return gulp.src(config.files.style)
.pipe(concat('style.css'))
.pipe(header(config.banner + '\n', {pkg: config.pkg}))
.pipe(myth())
.pipe(environments.production(uglifycss()))
.pipe(chmod(0o644))
.pipe(gulp.dest('static/assets/css'));
}
function copyStyle() {
return merge(
gulp.src(config.files.vendor.css)
.pipe(concat('vendor.css'))
.pipe(environments.production(uglifycss()))
.pipe(chmod(0o644))
.pipe(gulp.dest('static/assets/css')),
gulp.src(config.files.vendor.fonts)
.pipe(chmod(0o644))
.pipe(gulp.dest('static/assets/fonts')),
gulp.src(config.files.vendor.images)
.pipe(chmod(0o644))
.pipe(gulp.dest('static/assets/images'))
);
}
var build = gulp.series(
buildStyle,
copyScript,
copyStyle,
);
exports.build = build;
exports.default = build;