-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathgulpfile.js
More file actions
49 lines (43 loc) · 1.34 KB
/
Copy pathgulpfile.js
File metadata and controls
49 lines (43 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
const { src, dest, parallel } = require('gulp')
const dartSass = require('sass')
const gulpSass = require('gulp-sass')
const sass = gulpSass(dartSass)
const autoprefixer = require('gulp-autoprefixer')
const cleanCss = require('gulp-clean-css')
const rename = require('gulp-rename')
const cssWrap = require('./plugins/css-wrap')
const extractColor = require('./plugins/extract-color')
const unicodeEscape = require('./plugins/unicode-escape')
const {
scssSrc,
fontSrc,
outputDir,
outputFontDir,
outputColorDir,
outputColorSuffix: suffix,
cssWrap: { selector },
extractColor: { keywords, ignoreSpecialComments },
} = require('./theme.config')
function compileCss() {
return src(scssSrc)
.pipe(sass.sync().on('error', sass.logError))
.pipe(unicodeEscape())
.pipe(autoprefixer({ cascade: false }))
.pipe(cssWrap({ selector }))
.pipe(cleanCss())
.pipe(dest(outputDir))
}
function compileColorCss() {
return src(scssSrc)
.pipe(sass.sync().on('error', sass.logError))
.pipe(autoprefixer({ cascade: false }))
.pipe(cssWrap({ selector }))
.pipe(extractColor({ keywords, ignoreSpecialComments }))
.pipe(cleanCss())
.pipe(rename({ suffix }))
.pipe(dest(outputColorDir))
}
function copyfont() {
return src(fontSrc).pipe(dest(outputFontDir))
}
exports.build = parallel(compileCss, compileColorCss, copyfont)