README.ru
english | русский
SVG Optimizer – это инструмент для оптимизации векторной графики в формате SVG, написанный на Node.js.
Зачем?
SVG-файлы, особенно экспортированные из редакторов, содержат много избыточной и бесполезной информации, комментариев, скрытых элементов, неоптимальные или стандартные значения и другой мусор, удаление которого безопасно и не влияет на конечный вид изображения.
Возможности
SVGO имеет расширяемую архитектуру, в которой почти каждая оптимизация является отдельным расширением.
Что у нас есть:
Plugin | Description | Default |
---|---|---|
удаление переносов строк и лишних пробелов |
| |
перенос стилей из элементов |
| |
удаление doctype |
| |
удаление XML-инструкций |
| |
удаление комментариев |
| |
удаление |
| |
удаление |
| |
удаление |
| |
удаление элементов в |
| |
удаление атрибута xmlns (для заинлайненных svg) |
| |
удаление пространств имён различных редакторов, их элементов и атрибутов |
| |
удаление пустых атрибутов |
| |
удаление скрытых элементов |
| |
удаление пустых текстовых элементов |
| |
удаление пустых элементов-контейнеров |
| |
удаление атрибута |
| |
удаление или оптимизация атрибута |
| |
уменьшает содержимое элементов |
| |
конвертирование стилей в атрибуте |
| |
конвертирование цветовых значений: из |
| |
конвертирование данных Path в относительные или абсолютные координаты, смотря что |короче; конвертирование одних типов сегментов в другие; удаление ненужных разделителей; умное округление и тому подобное |
| |
схлопывание нескольких трансформаций в одну, конвертирование матриц в короткие алиасы |и многое другое |
| |
удаление неизвестных элементов, контента и атрибутов |
| |
удаление ненаследуемых "презентационных" атрибутов групп |
| |
удаление неиспользуемых атрибутов stroke-* и fill-* |
| |
удаление деклараций неиспользуемых пространств имён |
| |
добавляет префикс в ID или классы в виде имени файла или произвольной строки |
| |
удаление неиспользуемых и сокращение используемых ID |
| |
округление дробных чисел до заданной точности, удаление |
| |
округление числовых значений в атрибутах со списком чисел, таких как |
| |
перемещение совпадающих атрибутов у всех элементов внутри группы |
| |
перемещение некоторых атрибутов группы на элементы внутри |
| |
схлопывание бесполезных групп |
| |
удаление растровых изображений |
| |
склеивание нескольких Path в одну кривую |
| |
конвертирование простых форм в Path |
| |
конвертирование вырожденного эллипса |
| |
сортировка атрибутов элементов для удобочитаемости |
| |
сортировка детей |
| |
удаляет атрибуты width/height при наличии viewBox (противоречит removeViewBox — плагин должен быть выключен) |
| |
удаляет атрибуты по указанному паттерну |
| |
удаляет атрибуты по CSS-селектору |
| |
удаляет элементы по указанным ID или классам |
| |
добавляет имена классов корневому элементу |
| |
добавляет атрибуты корневому элементу |
| |
удаляет элементы вне отрисовываемой области |
| |
удаляет элементы |
| |
удаляет элементы |
| |
Заменяет дублирующиеся элементы ссылками |
|
Хотите узнать принципы работы и как написать свой плагин? Конечно же, да!
Как использовать
Выполнение:
Командная строка
с файлами:
или:
со STDIN / STDOUT:
с папками
или:
со строками:
или даже с Data URI base64:
с SVGZ:
из
.svgz
в.svg
:из
.svg
в.svgz
:
Другие способы использования SVGO
в виде веб-приложения - SVGOMG
как модуль Node.js – examples
как таск для Grunt – grunt-svgmin
как таск для Gulp – gulp-svgmin
как таск для Mimosa – mimosa-minify-svg
как действие папки в OSX – svgo-osx-folder-action
через загрузчик webpack – image-webpack-loader
с помощью бота в Telegram – svgo_bot
как плагин PostCSS - postcss-svgo
как плагин для Inkscape – inkscape-svgo
как плагин для Sketch - svgo-compressor
в виде приложения macOS - Image Shrinker
как плагин для Rollup - rollup-plugin-svgo
Лицензия и копирайты
Данное программное обеспечение выпускается под лицензией MIT.
Логотип – Егор Большаков.
Last updated