convertsvg
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

convertSvg npm

WARNING: fork from https://github.com/convertSvg/convertPath , all credits go to https://github.com/convertSvg

A node lib to convert svg shape elements into path svg elements.

Install

npm install convertsvg

What it can do

convertsvg has a plugin-based architecture, so almost every optimization is a separate plugin.

Today we have:

Plugin Description
convertUseToGroup convert defs and symbol elements into group svg elements.
convertShapeToPath convert svg shape elements into path svg elements.
removeGroups move some group and move some group attributes to the contained elements
convertTransfromforPath remove transform attribute and convert path data to relative
removeGradient remove gradient if reference via url('#id')
viewBoxTransform remove width/height attributes and reset ViewBox

Usage

const SVGParser = require('convertsvg')

const parse = SVGParser.parse('<svg />', {
  plugins: [
    {
      convertUseToGroup: true, // at first
    },
    {
      convertShapeToPath: true,
    },
    {
      removeGroups: true,
    },
    {
      convertTransfromforPath: true,
    },
    {
      viewBoxTransform: true, // at last
    },
  ],
  size: 1000,
})

const {
  error,
  data,
} = parse.getResult()
console.log(error, data)

const paths = parse.getPathAttributes()
console.log(paths)

/**
 * '<circle cx="500" cy="500" r="20" fill="red"/>'
 */
console.log(parse.toSimpleSvg())

/**
 * '<path d="M500,500,m-20,0,a20,20,0,1,0,40,0,a20,20,0,1,0,-40,0,Z" fill="red"/>'
 */

API

SVGParser.parse(filename)

SVGParser.parseStr(svgString)

SVGParser.parseNode(node)

parse.toSimpleSvg()

parse.getPathAttributes

WIKI

SVG WIKI

CHANGELOG

CHANGELOG.md

Special thanks

Package Sidebar

Install

npm i convertsvg

Weekly Downloads

0

Version

1.3.0

License

ISC

Unpacked Size

409 kB

Total Files

64

Last publish

Collaborators

  • opengg