Skip to content

Commit 195ae38

Browse files
committed
Добавил postCSS и сборку векторных спрайтов
1 parent 2b9f1dc commit 195ae38

File tree

5 files changed

+238
-5
lines changed

5 files changed

+238
-5
lines changed

gulpfile.js

+30-5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ const sass = require('gulp-sass');
66
const sassGlob = require('gulp-sass-glob');
77
const groupMediaQueries = require('gulp-group-css-media-queries');
88
const cleanCSS = require('gulp-cleancss');
9+
const postcss = require('gulp-postcss');
10+
const autoprefixer = require('autoprefixer');
911

1012
const concat = require('gulp-concat');
1113
const uglify = require('gulp-uglify');
@@ -18,6 +20,9 @@ const del = require('del');
1820
const plumber = require('gulp-plumber');
1921
const browserSync = require('browser-sync').create();
2022

23+
const svgstore = require('gulp-svgstore');
24+
const svgmin = require('gulp-svgmin');
25+
2126
const paths = {
2227
src: './src/', // paths.src
2328
build: './build/' // paths.build
@@ -30,12 +35,31 @@ function styles() {
3035
.pipe(sassGlob())
3136
.pipe(sass()) // { outputStyle: 'compressed' }
3237
.pipe(groupMediaQueries())
38+
.pipe(postcss([
39+
autoprefixer({browsers: ['last 9 version']}),
40+
]))
3341
.pipe(cleanCSS())
3442
.pipe(rename({ suffix: ".min" }))
3543
.pipe(sourcemaps.write('/'))
3644
.pipe(gulp.dest(paths.build + 'css/'))
3745
}
3846

47+
function svgSprite() {
48+
return gulp.src(paths.src + 'svg/*.svg')
49+
.pipe(svgmin(function (file) {
50+
return {
51+
plugins: [{
52+
cleanupIDs: {
53+
minify: true
54+
}
55+
}]
56+
}
57+
}))
58+
.pipe(svgstore({ inlineSvg: true }))
59+
.pipe(rename('sprite-svg.svg'))
60+
.pipe(gulp.dest(paths.build + 'img/'));
61+
}
62+
3963
function scripts() {
4064
return gulp.src(paths.src + 'js/*.js')
4165
.pipe(plumber())
@@ -76,19 +100,20 @@ function serve() {
76100
exports.styles = styles;
77101
exports.scripts = scripts;
78102
exports.htmls = htmls;
103+
exports.svgSprite = svgSprite;
79104
exports.clean = clean;
80105
exports.watch = watch;
81106

82107
gulp.task('build', gulp.series(
83108
clean,
84-
styles,
85-
scripts,
86-
htmls
87-
// gulp.parallel(styles, scripts, htmls)
109+
// styles,
110+
// scripts,
111+
// htmls
112+
gulp.parallel(styles, svgSprite, scripts, htmls)
88113
));
89114

90115
gulp.task('default', gulp.series(
91116
clean,
92-
gulp.parallel(styles, scripts, htmls),
117+
gulp.parallel(styles, svgSprite, scripts, htmls),
93118
gulp.parallel(watch, serve)
94119
));

package.json

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"start": "gulp"
99
},
1010
"devDependencies": {
11+
"autoprefixer": "^8.5.1",
1112
"babel-core": "^6.26.0",
1213
"babel-preset-env": "^1.6.1",
1314
"browser-sync": "^2.18.13",
@@ -18,11 +19,14 @@
1819
"gulp-concat": "^2.6.1",
1920
"gulp-group-css-media-queries": "^1.2.0",
2021
"gulp-plumber": "^1.1.0",
22+
"gulp-postcss": "^7.0.1",
2123
"gulp-rename": "^1.2.2",
2224
"gulp-replace": "^1.0.0",
2325
"gulp-sass": "^4.0.1",
2426
"gulp-sass-glob": "^1.0.8",
2527
"gulp-sourcemaps": "^2.6.1",
28+
"gulp-svgmin": "^1.2.4",
29+
"gulp-svgstore": "^6.1.1",
2630
"gulp-uglify": "^3.0.0"
2731
},
2832
"dependencies": {

src/svg/001-svg-1.svg

+66
Loading

src/svg/002-svg.svg

+80
Loading

src/svg/003-support.svg

+58
Loading

0 commit comments

Comments
 (0)