1.1.3 • Published 2 years ago

@marknotton/svg-to-symbols v1.1.3

Weekly downloads
5
License
MIT
Repository
github
Last release
2 years ago

SVG to Symbols

Made For NPM Made For Gulp

Compile a source of SVG images into one single file, with all files sanitised and refactored to be used as symbols.

Installation

npm i @marknotton/svg-to-symbols --save-dev
const symbols = require('@marknotton/svg-to-symbols');

Usage

gulp.task('symbols', () => {

    let options = {
      prefix   : 'icon',
      exclude  : ['facebook', 'twitter'],
      scss     : '/src/sass/_symbols.scss',
      sanitise : true
    };

    return gulp.src('/assets/images/**/*.svg')
    .pipe(symbols(options))
    .pipe(concat('symbols.svg'))
    .pipe(gulp.dest(images))

});

Options

SettingTypeDefaultDescription
prefixstringiconAll symbol element ID's will be prefixed with this string. A hyphen will be used to separate the prefix and the filename to create a valid ID name. If the prefix name matches an actual filename, then no prefix will be applied.
excludearraynullThere may be cases (particularly with complex SVG's) where you don't want to include a SVG image into the symbols file. An array of SVG filenames will be ignored (no need to include the file extension). This does not effect the sass map.
scssstring/boolfalseDefine a path and filename to store a file which contains a Sass map for each symbol. The map will contain the symbol names, height and width. This can come in handy when you need to calculate the original aspect ratios of each symbol.
sanitisebooltrueRemoves any inline style tags, XML tags and commenting from the symbols. Unless your SVG elements are very cleanly coded, you may find many files contain potentially conflicting CSS styling directly in the file. If you need to retain the styling of a symbol, it's recommended you do this elsewhere (like a global .css file).
childrenboolfalseEnabling this will include useful data of each child element from the svg into the scss map file. This nested map item will log the element type (path, circle, polyline... ), left and top positions, height and width, the x and y co-ordinates of the centre, and class and id names. Additionally, if the child is wrapped in a group <g>...</g> a reference name which includes an ID or/and Class attributes concatenated together.
1.1.3

2 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.1

5 years ago

1.1.0

5 years ago