postcss-svgo
Optimise inline SVG with PostCSS.
Last updated 3 years ago by ludovicofischer .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install postcss-svgo 
SYNC missed versions from official npm registry.

postcss-svgo

Optimise inline SVG with PostCSS.

Install

With npm do:

npm install postcss-svgo --save

Example

Input

h1 {
    background: url('data:image/svg+xml;charset=utf-8,<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"><circle cx="50" cy="50" r="40" fill="yellow" /></svg>');
}

h2 {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNDAiIGZpbGw9InllbGxvdyIgLz48IS0tdGVzdCBjb21tZW50LS0+PC9zdmc+');
}

Output

h1 {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="40" fill="%23ff0"/></svg>');
}

h2 {
    background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjZmYwIi8+PC9zdmc+');
}

API

svgo([options])

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.

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.

Usage

See the PostCSS documentation for examples for your environment.

Contributors

See CONTRIBUTORS.md.

License

MIT © Ben Briggs

Current Tags

  • 6.0.0                                ...           latest (2 years ago)
  • 5.0.0-rc.2                                ...           next (4 years ago)
  • 4.0.0-nightly.2020.2.6                                ...           nightly (4 years ago)

48 Versions

  • 6.0.0                                ...           2 years ago
  • 5.1.0                                ...           3 years ago
  • 5.0.4                                ...           3 years ago
  • 5.0.3                                ...           3 years ago
  • 5.0.2                                ...           4 years ago
  • 5.0.1                                ...           4 years ago
  • 5.0.0                                ...           4 years ago
  • 4.0.3                                ...           4 years ago
  • 5.0.0-rc.2                                ...           4 years ago
  • 5.0.0-rc.1                                ...           4 years ago
  • 5.0.0-rc.0                                ...           4 years ago
  • 4.0.0-nightly.2020.2.6                                ...           4 years ago
  • 4.0.0-nightly.2020.1.11                                ...           4 years ago
  • 4.0.0-nightly.2020.1.9                                ...           4 years ago
  • 4.0.0-nightly.2020.10.20                                ...           4 years ago
  • 4.0.0-nightly.2020.9.9                                ...           4 years ago
  • 4.0.0-nightly.2020.9.3                                ...           4 years ago
  • 4.0.0-nightly.2020.9.1                                ...           4 years ago
  • 4.0.0-nightly.2020.8.29                                ...           4 years ago
  • 4.0.0-nightly.2020.8.25                                ...           4 years ago
  • 4.0.0-nightly.2020.8.24                                ...           4 years ago
  • 4.0.0-nightly.2020.8.17                                ...           4 years ago
  • 4.0.0-nightly.2020.8.10                                ...           4 years ago
  • 4.0.0-nightly.2020.8.4                                ...           4 years ago
  • 4.0.0-nightly.2020.8.1                                ...           4 years ago
  • 4.0.0-nightly.2020.7.31                                ...           4 years ago
  • 4.0.0-nightly.2020.7.25                                ...           4 years ago
  • 4.0.0-nightly.2020.7.24                                ...           4 years ago
  • 4.0.2                                ...           6 years ago
  • 4.0.1                                ...           6 years ago
  • 4.0.0                                ...           6 years ago
  • 4.0.0-rc.2                                ...           7 years ago
  • 4.0.0-rc.0                                ...           8 years ago
  • 2.1.6                                ...           8 years ago
  • 2.1.5                                ...           8 years ago
  • 2.1.4                                ...           8 years ago
  • 2.1.3                                ...           9 years ago
  • 2.1.2                                ...           9 years ago
  • 2.1.1                                ...           9 years ago
  • 2.1.0                                ...           9 years ago
  • 2.0.4                                ...           9 years ago
  • 2.0.3                                ...           9 years ago
  • 2.0.2                                ...           9 years ago
  • 2.0.1                                ...           9 years ago
  • 2.0.0                                ...           9 years ago
  • 1.1.0                                ...           9 years ago
  • 1.0.1                                ...           9 years ago
  • 1.0.0                                ...           9 years ago
Downloads
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (1)

Copyright 2013 - present © cnpmjs.org | Home |