<commit_before># Iconify.design Tools

This library is a collection of tools for importing, exporting and processing SVG images. 

Its main purpose is to convert icon sets and fonts to Iconify JSON collections, but it can be used for other purposes.

## Installation

First install it by running this command:

```
npm install @iconify/tools --save
```

Then you can use it in your Node.js files:

```
const tools = require('@iconify/tools');
```

## What tools are available?

* Import SVG from various sources
* Export SVG to various formats
* Optimize images
* Crop images
* Clean up images
* Get/change color palette
* Find shapes, get lengths of shapes
* Convert shapes to paths

## Core

Core of tools are SVG and Collections classes. All tools create or manipulate instances of SVG or Json classes.

All tools are based on Promises. If you are not familiar with JavaScript Promises, do read up. There are many tutorials
available online. Make sure you are reading something from 2016 or newer, not tutorials for old implementations.

### SVG class

SVG class represents one SVG image. It is a simple class, it does not manipulate anything, except for<commit_msg>Missed one entry in readme.md<commit_after># Iconify.design Tools

This library is a collection of tools for importing, exporting and processing SVG images. 

Its main purpose is to convert icon sets and fonts to Iconify JSON collections, but it can be used for other purposes.

## Installation

First install it by running this command:

```
npm install @iconify/tools --save
```

Then you can use it in your Node.js files:

```
const tools = require('@iconify/tools');
```

## What tools are available?

* Import SVG from various sources
* Export SVG to various formats
* Optimize images
* Crop images
* Clean up images
* Get/change color palette
* Find shapes, get lengths of shapes
* Convert shapes to paths

## Core

Core of tools are SVG and Collections classes. All tools create or manipulate instances of SVG or Collection classes.

All tools are based on Promises. If you are not familiar with JavaScript Promises, do read up. There are many tutorials
available online. Make sure you are reading something from 2016 or newer, not tutorials for old implementations.

### SVG class

SVG class represents one SVG image. It is a simple class, it does not manipulate anything, except for
{'fraction_non_alphanumeric': 0.057203389830508475, 'fraction_numerical': 0.003389830508474576, 'mean_word_length': 4.246666666666667, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6284248', 'n_tokens_mistral': 635, 'n_tokens_neox': 594, 'n_words': 353}