# [postcss][postcss]-svgo [![Build Status](https://travis-ci.org/ben-eb/postcss-svgo.svg?branch=master)][ci] [![NPM version](https://badge.fury.io/js/postcss-svgo.svg)][npm] [![Dependency Status](https://gemnasium.com/ben-eb/postcss-svgo.svg)][deps] > Optimise inline SVG with PostCSS. ## Install With [npm](https://npmjs.org/package/postcss-svgo) do: ``` npm install postcss-svgo --save ``` ## Example ### Input ```css h1 { background: url('data:image/svg+xml;charset=utf-8,'); } ``` ### Output ```css h1 { background: url('data:image/svg+xml;charset=utf-8,'); } ``` ## API ### `svgo([options])` Note that postcss-svgo is an *asynchronous* processor. It cannot be used like this: ```js var result = postcss([ svgo() ]).process(css).css; console.log(result); ``` Instead make sure your PostCSS runner uses the asynchronous API: ```js postcss([ svgo() ]).process(css).then(function (result) { console.log(result.css); }); ``` #### options ##### encode Type: `boolean` Default: `undefined` If `true`, it will encode URL-unsafe characters such as `<`, `>` and `&`; `false` will decode these characters, and `undefined` will neither encode nor decode the original input. Note that regardless of this setting, `#` will always be URL-encoded. ##### plugins Optionally, you can customise the output by specifying the `plugins` option. You will need to provide the config in comma separated objects, like the example below. Note that you can either disable the plugin by setting it to `false`, or pass different options to change the default behaviour. ```js var postcss = require('postcss'); var svgo = require('postcss-svgo'); var opts = { plugins: [{ removeDoctype: false }, { removeComments: false }, { cleanupNumericValues: { floatPrecision: 2 } }, { convertColors: { names2hex: false, rgb2hex: false } }] }; postcss([ svgo(opts) ]).process(css).then(function (result) { console.log(result.css) }); ``` You can view the [full list of plugins here][plugins]. ## Usage See the [PostCSS documentation](https://github.com/postcss/postcss#usage) for examples for your environment. ## Contributors Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): | [
Ben Briggs](http://beneb.info)
[๐Ÿ’ป](https://github.com/ben-eb/postcss-svgo/commits?author=ben-eb) [๐Ÿ“–](https://github.com/ben-eb/postcss-svgo/commits?author=ben-eb) ๐Ÿ‘€ [โš ๏ธ](https://github.com/ben-eb/postcss-svgo/commits?author=ben-eb) | [
Sebastian Misch](https://sebastian-misch.de)
[๐Ÿ’ป](https://github.com/ben-eb/postcss-svgo/commits?author=sbstnmsch) [โš ๏ธ](https://github.com/ben-eb/postcss-svgo/commits?author=sbstnmsch) | [
ะ’ัั‡ะตัะปะฐะฒ ะ›ััˆะตะฝะบะพ](https://github.com/ophyros)
[๐Ÿ’ป](https://github.com/ben-eb/postcss-svgo/commits?author=ophyros) [โš ๏ธ](https://github.com/ben-eb/postcss-svgo/commits?author=ophyros) | [
shinnn](https://shinnn.github.io)
[๐Ÿ’ป](https://github.com/ben-eb/postcss-svgo/commits?author=shinnn) | [
Jung-gun Lim](https://github.com/j6lim)
[๐Ÿ›](https://github.com/ben-eb/postcss-svgo/issues?q=author%3Aj6lim) | [
Bogdan Chadkin](https://github.com/TrySound)
[๐Ÿ’ป](https://github.com/ben-eb/postcss-svgo/commits?author=TrySound) ๐Ÿ‘€ [โš ๏ธ](https://github.com/ben-eb/postcss-svgo/commits?author=TrySound) | [
Piotr Walczyszyn](http://outof.me)
[๐Ÿ›](https://github.com/ben-eb/postcss-svgo/issues?q=author%3Apwalczyszyn) | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | This project follows the [all-contributors] specification. Contributions of any kind welcome! ## License MIT ยฉ [Ben Briggs](http://beneb.info) [all-contributors]: https://github.com/kentcdodds/all-contributors [ci]: https://travis-ci.org/ben-eb/postcss-svgo [deps]: https://gemnasium.com/ben-eb/postcss-svgo [npm]: http://badge.fury.io/js/postcss-svgo [postcss]: https://github.com/postcss/postcss [plugins]: https://github.com/svg/svgo/tree/master/plugins