broccoli-rsvg
v0.3.2
Published
SVG to PNG renderer for Broccoli
Downloads
17
Readme
broccoli-rsvg
This Broccoli plugin renders SVG files to PNG using node-rsvg.
Installation
First, get librsvg:
- OS X:
brew install librsvg
- FreeBSD:
pkg install graphics/librsvg2
- Ubuntu/Debian:
sudo apt-get install librsvg2-dev
- Fedora/CentOS/OpenSUSE:
sudo yum install librsvg2-devel
Second, install as any other broccoli plugin:
npm install --save-dev broccoli-rsvg
Usage
var renderSvg = require('broccoli-rsvg')
var outputTree = renderSvg(inputNodes, fileOptions)
inputNodes
: A list of nodes (trees) that contain the SVG files you want to render.fileOptions
: A hash of rsvg options and alternative versions for each file; see the following example.
Example
var Rsvg = require('broccoli-rsvg')
var png = new Rsvg(['svg'], {
'logo.svg': {
width: 600,
height: 500, // optional override, values from the svg file itself are used by default
versions: [
{ // Retina version example
path: '[email protected]',
width: 1200,
height: 1000
},
{ // Transformed version example
transformer: function(svg) {
return svg.replace('#000000', '#ffffff') // You can use elementtree or xmldom here...
},
path: 'logo-black.png',
versions: [
{ // Nested example: transformed + retina
path: '[email protected]',
width: 1200,
height: 1000
}
]
}
]
}
})
return [svg, png]
Note: avoid passing broccoli-svgo output to rsvg, it might get screwed up.
Contributing
Please feel free to submit pull requests!
By participating in this project you agree to follow the Contributor Code of Conduct.
License
This is free and unencumbered software released into the public domain.
For more information, please refer to the UNLICENSE
file or unlicense.org.