o-o o o o--o o-o
\ \ / | | | |
o-o o o--o o-o
|
o--o
SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.
SVG files, especially exported from various editors, usually contains a lot of redundant and useless information such as editor metadata, comments, hidden elements and other stuff that can be safely removed without affecting SVG rendering result.
SVGO has a plugin-based architecture, so almost every optimization is a separate plugin.
Today we have:
- [ > ] cleanup attributes from newlines, trailing and repeating spaces
- [ > ] remove doctype declaration
- [ > ] remove XML processing instructions
- [ > ] remove comments
- [ > ] remove metadata
- [ > ] remove editors namespaces, elements and attributes
- [ > ] remove empty attributes
- [ > ] remove default "px" unit
- [ > ] remove a lot of hidden elements
- [ > ] remove empty Text elements
- [ > ] remove empty Container elements
- [ > ] convert styles into attributes
- [ > ] convert colors
- [ > ] move elements attributes to the existing group wrapper
- [ > ] collapse groups
But it's not only about rude removing, SVG has a strict specification with a lot of opportunities for optimizations, default values, geometry hacking and more.
How-to instructions and plugins API docs will coming ASAP.
npm install -g svgo
Usage:
svgo [OPTIONS] [ARGS]
Options:
-h, --help : Help
-v, --version : Version
-c CONFIG, --config=CONFIG : Local config
-i INPUT, --input=INPUT : Input file (default: stdin)
-o OUTPUT, --output=OUTPUT : Output file (default: stdout)
svgo -i myTestFile.svg -o myTestFile.min.svg
It's only the very first public alpha :)
- documentation!
- phantomjs-based server-side SVG rendering "before vs after" tests
- more unit tests
- more plugins
- …