0.1.0 • Published 9 years ago

grunt-svgtodefs v0.1.0

Weekly downloads
1
License
-
Repository
github
Last release
9 years ago

svgtodefs

Transform a list of svg files to a single defs file

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install svgtodefs --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('svgtodefs');

The "svgtodefs" task

Overview

In your project's Gruntfile, add a section named svgtodefs to the data object passed into grunt.initConfig().

grunt.initConfig({
  svgtodefs: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

Options

options.idPrefix

Type: String Default value: ''

The grunt tasks takes the file name as an ID but can be prefixed with a custom string

options.svgClass

Type: String Default value: 'svg-defs'

The class to assign to the main svg element

Usage Examples

Default Options

In this example, the default options are used to merge the svg in a file. You should have something like <svg class="svg-defs"><defs><g id="svgfile1"><path d="..."/></g></defs></svg>

grunt.initConfig({
  svgtodefs: {
    options: {},
    files: {
      'dest/default_options.svg': 'src/image/icon/**'
    },
  },
});

Custom Options

In this example, the default options are used to merge the svg in a file. You should have something like <svg class="defs-wrapper"><defs><g id="svg-svgfile1"><path d="..."/></g></defs></svg>

grunt.initConfig({
  svgtodefs: {
    options: {
      idPrefix: 'svg-',
      svgClass: 'defs-wrapper',
    },
    files: {
      'dest/custom_options.svg': 'src/image/icon/**'
    },
  },
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

(Nothing yet)