Skip to content

Commit

Permalink
feat: optimize SVGs during build
Browse files Browse the repository at this point in the history
  • Loading branch information
mojoaxel committed Nov 18, 2023
1 parent fa65ff6 commit d3f6bc4
Show file tree
Hide file tree
Showing 3 changed files with 1,902 additions and 47 deletions.
60 changes: 59 additions & 1 deletion gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,66 @@
*/

const gulp = require('gulp');
const rename = require('gulp-rename');
const iconfont = require('gulp-iconfont');
const consolidate = require('gulp-consolidate');
const svgo = require('gulp-svgo');

const fontName = 'ix-icons';
const className = 'glyph';
const template = 'ix-style';

const timestamp = Math.round(Date.now() / 1000);

gulp.task(
'symbols',
gulp.series(() => gulp.src('./svg/*.svg').pipe(gulp.dest('dist-css/svg'))),
gulp.series(() =>
gulp
.src('./svg/*.svg')
.pipe(svgo())
.pipe(gulp.dest('dist/svg'))
.pipe(
iconfont({
fontName,
formats: ['ttf', 'eot', 'woff', 'woff2', 'svg'],
timestamp,
log: () => {},
})
)
.on('glyphs', (glyphs) => {
const options = {
className,
fontName,
fontPath: '../fonts/',
glyphs: glyphs.map((glyph) => ({
name: glyph.name,
codepoint: glyph.unicode[0].charCodeAt(0),
})),
};
gulp
.src(`templates/${template}.css`)
.pipe(consolidate('lodash', options))
.pipe(rename({ basename: fontName }))
.pipe(gulp.dest('dist/css/'));

gulp
.src(`templates/${template}.scss`)
.pipe(consolidate('lodash', options))
.pipe(rename({ basename: fontName }))
.pipe(gulp.dest('dist/scss/'));

gulp
.src(`templates/${template}.html`)
.pipe(consolidate('lodash', options))
.pipe(rename({ basename: 'sample' }))
.pipe(gulp.dest('dist/'));

gulp
.src(`templates/${template}.json`)
.pipe(consolidate('lodash', options))
.pipe(rename({ basename: 'sample' }))
.pipe(gulp.dest('dist/'));
})
.pipe(gulp.dest('dist/fonts/'))
)
);
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
"@types/rimraf": "^4.0.5",
"fs-extra": "^11.1.0",
"gulp": "^4.0.2",
"gulp-consolidate": "^0.2.0",
"gulp-iconfont": "^11.0.0",
"gulp-rename": "^2.0.0",
"gulp-svgo": "^2.2.1",
"http-server": "^14.1.1",
"jest": "^27.5.1",
"jest-cli": "^27.5.1",
Expand Down
Loading

0 comments on commit d3f6bc4

Please sign in to comment.