postcss-svgo

Optimise inline SVG with PostCSS.
css minify optimise postcss postcss-plugin svg svgo


Summary

Project Name postcss-svgo Project Url https://github.com/cssnano/cssnano
InceptionYear 2015-07-09 23:22:45 更新时间 2019-02-13 01:49:27
IssueManagement https://github.com/cssnano/cssnano/issues Licenses MIT
仓库地址 git+https://github.com/cssnano/cssnano.git 用户数 5
Node Engine >=6.9.0 文件大小 4.1 KB
install prepublish

项目介绍

# [postcss][postcss]-svgo > 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,'); } h2 { background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNDAiIGZpbGw9InllbGxvdyIgLz48IS0tdGVzdCBjb21tZW50LS0+PC9zdmc+'); } ``` ### Output ```css h1 { background: url('data:image/svg+xml;charset=utf-8,'); } h2 { background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjZmYwIi8+PC9zdmc+'); } ``` ## 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 See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md). ## License MIT © [Ben Briggs](http://beneb.info) [postcss]: https://github.com/postcss/postcss [plugins]: https://github.com/svg/svgo/tree/master/plugins

Dependencys

GroupId ArtifactID Version 引用量
Sindre Sorhus is-svg 4.2.1 98
Andrey Sitnik postcss 7.0.26 8974
Bogdan Chadkin postcss-value-parser 4.0.2 304
Kir Belevich svgo 1.3.1 1256

开发依赖

GroupId ArtifactID Version 引用量
Sebastian McKenzie babel-cli 6.26.0 958
Kent C. Dodds cross-env 6.0.2 36174
Vincent De Oliveira pleeease-filters 4.0.0 54