Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 

gulp-iconify

'A mystical CSS icon solution', grunticon-like build system for Gulp:

'grunticon is a Grunt.js gulp-iconify is a gulp task that makes it easy to manage icons and background images for all devices, preferring HD (retina) SVG icons but also provides fallback support for standard definition browsers, and old browsers alike. From a CSS perspective, it's easy to use, as it generates a class referencing each icon, and doesn't use CSS sprites.'

##Usage

npm install gulp-iconify --save-dev

###Simple example

gulp.task('default', function() {
    iconify({
        src: './img/icons/*.svg'
    });
});

This simple call defaults to the following:

  • SVGs will be passed through SVGO (and optimised)
  • Rendered PNGs will be saved in: './img/icons/png'
  • Rendered SCSS files will NOT be saved
  • Rendered CSS files will be saved in: './css'
  • If SVG has no width attribute, the default fallback will be 300px
  • If SVG has no height attribute, the default fallback will be 200px
  • The default styleTemplate fill be used (examples shown below)
  • The default styleTemplate will not use the height/width slugs
  • See gulp-svg2png for default settings

###Customized example

gulp.task('default', function() {
    iconify({
        src: './img/icons/*.svg',
        pngOutput: './img/icons/png',
        scssOutput: './scss',
        cssOutput:  './css',
        styleTemplate: '_icon_gen.scss.mustache',
        defaultWidth: '300px',
        defaultHeight: '200px',
        svgoOptions: {
            enabled: true,
            options: {
                plugins: [
                    { removeUnknownsAndDefaults: false },
                    { mergePaths: false }
                ]
            }
        },
        svg2pngOptions: {
            scaling: 1.0,
            verbose: true,
            concurrency: null
        }
    });
});

Note: To disable SVGO, just set svgoOptions: { enabled: ___ } to anything but true .

###Example (and default) styleTemplate:

.icon {
    background-repeat: no-repeat;

    {{#items}}
    &.icon-{{slug}} {
        background-image: url('{{{datauri}}}');
    }

    {{/items}}
}

###Example styleTemplate with height/width slugs:

.icon {
    background-repeat: no-repeat;

    {{#items}}
    &.icon-{{slug}} {
        background-image: url('{{{datauri}}}');
        width: {{width}}px;
        height: {{height}}px;
    }

    {{/items}}
}

About

'A mystical CSS icon solution', grunticon-like build system.

Resources

License

Packages

No packages published