esp

extract-svg-path

extracts a string of subpaths from an svg file

Showing:

Popularity

Downloads/wk

740

GitHub Stars

42

Maintenance

Last Commit

6yrs ago

Contributors

0

Package

Dependencies

6

Size (min+gzip)

0.6KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

extract-svg-path

stable

Grabs all the <path> data from an SVG file, concatenating them into a single string.

This is mostly useful for simple shapes and silhouettes. It works in Node/Browser and provides a transform for inlining paths into a bundle.

Install

npm install extract-svg-path [-g|--save]

Example

var parse = require('parse-svg-path')
var extract = require('extract-svg-path')

var path = extract(__dirname + '/infinity.svg')
var svg = parse(path)
console.log(svg)
//=> [ [ 'M', 25, 15 ], ... ]

Usage

extractSvgPath(file[, opt])

Extracts the SVG <path> contents of the given file path, using fs.readFileSync with utf8 by default. Any options will be passed along to cheerio, but with xmlMode default to true. Additional options:

  • encoding the file encoding, defaults to utf8

extractSvgPath.parse(contents)

Extracts the paths from the string contents of an SVG file.

Browser Usage

Without a transform, only the parse method is supported. This can accept either a string (i.e. from xhr response) or an SVG node (i.e. from load-svg).

var parse = require('parse-svg-path')
var extract = require('extract-svg-path').parse
var load = require('load-svg')

load('svg/infinity.svg', function(err, svg) {
  var paths = parse(extract(svg))
})

With browserify, you can use the transform to inline files into your bundle. For example:

var parse = require('parse-svg-path')
var svg = require('extract-svg-path')(__dirname + '/shape.svg')
var path = parse(svg)

Then:

browserify index.js -t extract-svg-path/transform

Changes

  • 2.1 - renamed fromString to parse in a backwards-compatible manner
  • 2.0 - uses xml-parse-from-string, removed CLI to reduce dependency bloat, renamed extract method to fromString, merged transform into this module
    • a CLI might be re-done later in a separate module
  • 1.0 - includes a CLI, extract method

License

MIT, see LICENSE.md for details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100