/grunt-icons8

Grunt Task for automating fonts from Icons8

Primary LanguageJavaScriptMIT LicenseMIT

grunt-icons8

Grunt task for Integrating with Icons8

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 grunt-icons8 --save-dev

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

grunt.loadNpmTasks('grunt-icons8');

The "icons8" task

Overview

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

grunt.initConfig({
  icons8: {
    dev: {
      options: {
        prefix: 'my-app',
        cssExportPath: 'css/',
        cssFilename: 'fonts.scss',
        fontExportPath: 'output/',
        fontFilename: 'myFont',
        scss: true
      },
      archivePath: 'test/app.zip'
    },
    prod: {
      options: {
        cssExportPath: 'css/',
        cssFilename: 'fonts.css',
        fontExportPath: 'output/',
        fontFilename: 'myFont',
        relativeFontPath: '../assets/fonts/typography'
      },
      archivePath: 'test/app.zip'
    }
  },
});

Options

archivePath

Type: String Required

Path to ZIP Archive generated by Icons8

options.prefix

Type: String Default value: 'app'

Prefix to replace icons8 css prefix with the supplied value.

options.cssExportPath

Type: String Default value: './'

Place to put the zipped CSS or SCSS

options.cssFilename

Type: String Default value: null

Override the default icons8 file name for CSS/SCSS files. (Default is styles.css from icons8).

options.fontExportPath

Type: String Default value: './'

Place to put the zipped Font Files (All the font extensions)

options.fontFilename

Type: String Default value: null

Override the default icons8 hash generated for font file names. This option also takes care of the font file names in the SCSS/CSS files.

options.relativeFontPath

Type: String Default value: null

Override the relative path calculated from cssExportPath -> fontExportPath. For eg:

fontExportPath: assets/fonts/icons/
cssExportPath: assets/css/

relativeFontPath (Default): ../fonts/icons/  <-- To be used in SCSS/CSS Files

You can override this with this setting.

options.scss

Type: Boolean Default value: false

Select SCSS or CSS for Font Stylesheet.

Usage Examples

Default Options

By default you just need to give archivePath

grunt.initConfig({
  icons8: {
    dev: {
      archivePath: './app.zip'
    }
  }
});

Custom Options

Full set of Options are given below.

grunt.initConfig({
  icons8: {
    dev: {
      options: {
        prefix: 'my-app',
        cssExportPath: 'css/',
        fontExportPath: 'output/',
        fontFilename: 'myFont',
        scss: true,
        relativeFontPath: '../assets/fonts/typography'
      },
      archivePath: 'test/app.zip'
    }
  }
});

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)