@toolman/icon-builder
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

icon-builder

CircleCI David npm

An icon builder forked from webfonts-generator.

  • 🎉 Supports: svg, ttf, woff, woff2, eot
  • 💥 Converts SVG icons to React components
  • 🥊 Developed with TypeScript
  • Passes all tests
  • 👀 Generates a friendly preview in HTML

Install

$ yarn add icon-builder

Usage

import { toFonts } from 'icon-builder';

(async () => {
  const result = await toFonts({
    fontName: 'helloworld',
    src: 'icons/*.svg',
    out: 'icons-output',
  });
})();

Options

option type default description
src string Required
out string / false false
fontName string 'iconfont'
classPrefix string 'icon-'
hash boolean true Use hash
types array ['svg', 'ttf', 'eot', 'woff', 'woff2'] Font types
startCodepoint number 0xf101
codepoints object {} Unicode start
normalize boolean true
centerHorizontally boolean true
css object CSS config
html object HTML config

css / html config

{
  out: true, // string | boolean
  template: 'path/to/the/template.hbs',
  options: {},
}

out

  • string: The output path of CSS/HTML file.
  • true: The output path is the same as the fonts path (see out in Options).
  • false: No emit CSS/HTML file.

By default, css.out is true, html.out is false.

template

Templates must be coded in Handlebars (.hbs) format. See templates folder as a reference.

This is optional.

options

This is any extra data passed to the Handlebars template set in template.

This is optional.

React components

import { toReact } from 'icon-builder';

(async () => {
  await toReact({
    src: 'icons/*.svg',
    out: 'icons-output',
  });
})();

Note

Before building the icon font, it is recommended to convert the SVG icons from stroke to fill.

For example: Sketch > Layer > Convert to outlines

Package Sidebar

Install

npm i @toolman/icon-builder

Weekly Downloads

2

Version

3.0.0

License

MIT

Unpacked Size

32.9 kB

Total Files

30

Last publish

Collaborators

  • codpoe