1.3.0 • Published 2 years ago

convertsvg v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

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:

PluginDescription
convertUseToGroupconvert defs and symbol elements into group svg elements.
convertShapeToPathconvert svg shape elements into path svg elements.
removeGroupsmove some group and move some group attributes to the contained elements
convertTransfromforPathremove transform attribute and convert path data to relative
removeGradientremove gradient if reference via url('#id')
viewBoxTransformremove 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