# convertPath
**Repository Path**: dataup/convertPath
## Basic Information
- **Project Name**: convertPath
- **Description**: A node lib to convert svg shape elements into path svg elements.
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-05-10
- **Last Updated**: 2021-05-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## convertPath [](https://www.npmjs.com/package/convertpath)
A node lib to convert svg shape elements into path svg elements.
## Install
```
npm install convertpath
```
## What it can do
convertpath has a plugin-based architecture, so almost every optimization is a separate plugin.
Today we have:
| Plugin | Description |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [convertUseToGroup](https://github.com/pfan123/convertpath/blob/master/lib/filter/convertUseToGroup.js) | convert defs and symbol elements into group svg elements. |
| |
| [convertShapeToPath](https://github.com/pfan123/convertpath/blob/master/lib/filter/convertShapeToPath.js) | convert svg shape elements into path svg elements. |
| [removeGroups](https://github.com/pfan123/convertpath/blob/master/lib/filter/removeGroups.js) | move some group and move some group attributes to the contained elements |
| [convertTransfromforPath](https://github.com/pfan123/convertpath/blob/master/lib/filter/convertTransfromforPath.js) | remove transform attribute and convert path data to relative |
| [removeGradient](https://github.com/pfan123/convertpath/blob/master/lib/filter/removeGradient.js) | remove gradient if reference via url('#id') |
| [viewBoxTransform](https://github.com/pfan123/convertpath/blob/master/lib/filter/viewBoxTransform.js) | remove width/height attributes and reset ViewBox |
## Usage
```
const SVGParser = require('convertpath')
const parse = SVGParser.parse('./test/test.svg', {
plugins: [
{
convertUseToGroup: true, // at first
},
{
convertShapeToPath: true,
},
{
removeGroups: true,
},
{
convertTransfromforPath: true,
},
{
viewBoxTransform: true, // at last
},
],
size: 1000,
})
const result = parse.toSimpleSvg()
console.log(result)
const paths = parse.getPathAttributes()
console.log(paths)
/**
* ''
*/
console.log(parse.toSimpleSvg())
/**
* ''
*/
```
## API
#### SVGParser.parse(filename)
#### SVGParser.parseStr(svgString)
#### SVGParser.parseNode(node)
#### parse.toSimpleSvg()
#### parse.getPathAttributes
## WIKI
[SVG WIKI](https://github.com/convertSvg/convertPath/wiki)
## CHANGELOG
[CHANGELOG.md](https://github.com/convertSvg/convertPath/blob/master/CHANGELOG.md)
## Special thanks
- [SVGO](https://github.com/svg/svgo)
- [fontello](https://github.com/fontello/svgpath)
- [W3C SVG11](https://www.w3.org/TR/SVG11/)