Skip to content

valpackett/broccoli-rsvg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

broccoli-rsvg npm version npm downloads Build Status Dependency Status unlicense

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: 'logo@2x.png',
        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: 'logo-black@2x.png',
            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.

About

A Broccoli plugin for rendering SVG files to PNG.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published