Comparing version
@@ -0,1 +1,10 @@ | ||
### [ [>](https://github.com/svg/svgo/tree/v0.2.1) ] 0.2.1 / 18.01.2013 | ||
* plugins/moveElemsAttrsToGroup + plugins/moveGroupAttrsToElems: move or just leave transform attr from Group to the inner Path Elems (close [#86](https://github.com/svg/svgo/issues/86)) | ||
* plugins/removeViewBox: doesn't catch floating-point numbers (fix [#88](https://github.com/svg/svgo/issues/88)) | ||
* plugins/cleanupEnableBackground: doesn't catch floating-point numbers (fix [#89](https://github.com/svg/svgo/issues/89)) | ||
* plugins/cleanupNumericValues: wrong floating-point numbers regexp (fix [#92](https://github.com/svg/svgo/issues/92)) | ||
* SVG file generated by fontcustom.com not properly compressed (fix [#90](https://github.com/svg/svgo/issues/90)) | ||
* `README.ru.md`: ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΡΠ°Π²ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ (close [#91](https://github.com/svg/svgo/issues/91)) | ||
* minor JSHint warning fix | ||
### [ [>](https://github.com/svg/svgo/tree/v0.2.0) ] 0.2.0 / 23.12.2012 | ||
@@ -2,0 +11,0 @@ * plugins/convertPathData: apply transforms to Path pata (close [#33](https://github.com/svg/svgo/issues/33)) |
{ | ||
"name": "svgo", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Nodejs-based tool for optimizing SVG vector graphics files", | ||
@@ -5,0 +5,0 @@ "keywords": [ "svgo", "svg", "optimize", "minify" ], |
@@ -10,3 +10,3 @@ 'use strict'; | ||
gradient: ['linearGradient', 'radialGradient'], | ||
container: ['a', 'defs', 'glyph', 'g', 'marker', 'mask', 'missing-glyph', 'pattern', 'svg', 'switch', 'symbol'], | ||
container: ['a', 'defs', 'g', 'marker', 'mask', 'missing-glyph', 'pattern', 'svg', 'switch', 'symbol'], | ||
textContentChild: ['altGlyph', 'textPath', 'tref', 'tspan'], | ||
@@ -17,2 +17,4 @@ lightSource: ['feDiffuseLighting', 'feSpecularLighting', 'feDistantLight', 'fePointLight', 'feSpotLight'], | ||
exports.pathElems = ['path', 'glyph', 'missing-glyph']; | ||
// var defaults = exports.defaults = { | ||
@@ -19,0 +21,0 @@ // 'externalResourcesRequired': 'false', |
@@ -120,3 +120,3 @@ 'use strict'; | ||
*/ | ||
var matrixToTransform = exports.matrixToTransform = function(transform, params) { | ||
exports.matrixToTransform = function(transform, params) { | ||
@@ -123,0 +123,0 @@ var data = transform.data; |
'use strict'; | ||
var regEnableBackground = /^new\s0\s0\s(\d+)\s(\d+)$/, | ||
var regEnableBackground = /^new\s0\s0\s([\-+]?\d*\.?\d+([eE][\-+]?\d+)?)\s([\-+]?\d*\.?\d+([eE][\-+]?\d+)?)$/, | ||
elems = ['svg', 'mask', 'pattern']; | ||
@@ -35,3 +35,3 @@ | ||
item.attr('width').value === match[1] && | ||
item.attr('height').value === match[2] | ||
item.attr('height').value === match[3] | ||
) { | ||
@@ -38,0 +38,0 @@ if (item.isElem('svg')) { |
'use strict'; | ||
var regNumericValues = /^([\-+]?\d*\.?\d+(\.\d+)?([eE][\-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/, | ||
var regNumericValues = /^([\-+]?\d*\.?\d+([eE][\-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/, | ||
removeLeadingZero = require('../lib/svgo/tools').removeLeadingZero; | ||
@@ -29,3 +29,3 @@ | ||
var num = +(+match[1]).toFixed(params.floatPrecision), | ||
units = match[4] || ''; | ||
units = match[3] || ''; | ||
@@ -32,0 +32,0 @@ // and remove leading zero |
@@ -6,3 +6,3 @@ 'use strict'; | ||
regPathData = /[\-+]?\d*\.?\d+([eE][\-+]?\d+)?/g, | ||
pathElems = ['path', 'glyph', 'missing-glyph'], | ||
pathElems = require('./_collections.js').pathElems, | ||
hasMarkerMid, | ||
@@ -9,0 +9,0 @@ transform2js = require('./_transforms.js').transform2js, |
'use strict'; | ||
var inheritableAttrs = require('./_collections').inheritableAttrs; | ||
var inheritableAttrs = require('./_collections').inheritableAttrs, | ||
pathElems = require('./_collections.js').pathElems; | ||
@@ -35,8 +36,8 @@ /** | ||
hasTransform = false, | ||
every = item.content.every(function(g) { | ||
if (g.elem && g.attrs) { | ||
intersected = item.content.every(function(inner) { | ||
if (inner.isElem() && inner.hasAttr()) { | ||
if (!Object.keys(intersection).length) { | ||
intersection = g.attrs; | ||
intersection = inner.attrs; | ||
} else { | ||
intersection = intersectInheritableAttrs(intersection, g.attrs); | ||
intersection = intersectInheritableAttrs(intersection, inner.attrs); | ||
@@ -48,5 +49,8 @@ if (!intersection) return false; | ||
} | ||
}), | ||
allPath = item.content.every(function(inner) { | ||
return inner.isElem(pathElems); | ||
}); | ||
if (every) { | ||
if (intersected) { | ||
@@ -56,11 +60,21 @@ item.content.forEach(function(g) { | ||
for (var name in intersection) { | ||
g.removeAttr(name); | ||
if (name === 'transform') { | ||
if (!hasTransform && item.hasAttr('transform')) { | ||
item.attr('transform').value += ' ' + intersection[name].value; | ||
hasTransform = true; | ||
if (!allPath || name !== 'transform') { | ||
g.removeAttr(name); | ||
if (name === 'transform') { | ||
if (!hasTransform) { | ||
if (item.hasAttr('transform')) { | ||
item.attr('transform').value += ' ' + intersection[name].value; | ||
} else { | ||
item.addAttr(intersection[name]); | ||
} | ||
hasTransform = true; | ||
} | ||
} else { | ||
item.addAttr(intersection[name]); | ||
} | ||
} else { | ||
item.addAttr(intersection[name]); | ||
} | ||
@@ -67,0 +81,0 @@ } |
'use strict'; | ||
var regViewBox = /^0\s0\s(\d+)\s(\d+)$/, | ||
var regViewBox = /^0\s0\s([\-+]?\d*\.?\d+([eE][\-+]?\d+)?)\s([\-+]?\d*\.?\d+([eE][\-+]?\d+)?)$/, | ||
viewBoxElems = ['svg', 'pattern']; | ||
@@ -35,3 +35,3 @@ | ||
item.attr('width').value === match[1] && | ||
item.attr('height').value === match[2] | ||
item.attr('height').value === match[3] | ||
) { | ||
@@ -38,0 +38,0 @@ item.removeAttr('viewBox'); |
@@ -6,3 +6,3 @@ **english** | [ΡΡΡΡΠΊΠΈΠΉ](https://github.com/svg/svgo/blob/master/README.ru.md) | ||
## SVGO v0.2.0 [](http://travis-ci.org/svg/svgo) | ||
## SVGO v0.2.1 [](http://travis-ci.org/svg/svgo) | ||
@@ -43,2 +43,3 @@ **SVG O**ptimizer is a Nodejs-based tool for optimizing SVG vector graphics files. | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveElemsAttrsToGroup.js) ] move elements attributes to the existing group wrapper | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveGroupAttrsToElems.js) ] move some group attributes to the content elements | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/collapseGroups.js) ] collapse useless groups | ||
@@ -45,0 +46,0 @@ |
@@ -6,3 +6,3 @@ [english](https://github.com/svg/svgo/blob/master/README.md) | **ΡΡΡΡΠΊΠΈΠΉ** | ||
## SVGO v0.2.0 [](http://travis-ci.org/svg/svgo) | ||
## SVGO v0.2.1 [](http://travis-ci.org/svg/svgo) | ||
@@ -14,7 +14,7 @@ **SVG** **O**ptimizer β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ SVG, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Node.js. | ||
SVG ΡΠ°ΠΉΠ»Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΡΠΊΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΡΡΠΎΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. | ||
SVG-ΡΠ°ΠΉΠ»Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ β ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΡΠΊΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΡΡΠΎΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. | ||
## ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ | ||
SVGO ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ. | ||
SVGO ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. | ||
@@ -33,7 +33,7 @@ Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Π½Π°Ρ Π΅ΡΡΡ: | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeEmptyContainers.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeViewBox.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° `viewBox` ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupEnableBackground.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° `enable-background` ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeViewBox.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° `viewBox`, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupEnableBackground.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° `enable-background`, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertStyleToAttrs.js) ] ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»Π΅ΠΉ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ `style` Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ svg-Π°ΡΡΠΈΠ±ΡΡΡ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertColors.js) ] ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΠΈΠ· `rgb()` Π² `#rrggbb`, ΠΈΠ· `#rrggbb` Π² `#rgb`) | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js) ] ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² Path Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertColors.js) ] ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: ΠΈΠ· `rgb()` Π² `#rrggbb`, ΠΈΠ· `#rrggbb` Π² `#rgb` | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js) ] ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Path Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertTransform.js) ] ΡΡ Π»ΠΎΠΏΡΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ Π² ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Π² ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π°Π»ΠΈΠ°ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ | ||
@@ -43,7 +43,8 @@ * [ [>](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js) ] ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ID | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupNumericValues.js) ] ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠΈΡΠ΅Π» Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ `px` ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupNumericValues.js) ] ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠΈΡΠ΅Π» Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ `px` ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveElemsAttrsToGroup.js) ] ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Ρ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π½ΡΡΡΠΈ Π³ΡΡΠΏΠΏΡ `<g>` | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveGroupAttrsToElems.js) ] ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π³ΡΡΠΏΠΏΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²Π½ΡΡΡΠΈ | ||
* [ [>](https://github.com/svg/svgo/blob/master/plugins/collapseGroups.js) ] ΡΡ Π»ΠΎΠΏΡΠ²Π°Π½ΠΈΠ΅ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π³ΡΡΠΏΠΏ `<g>` | ||
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½? [ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π΄Π°](https://github.com/svg/svgo/blob/master/docs/how-it-works/ru.md). | ||
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½? [ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π΄Π°!](https://github.com/svg/svgo/blob/master/docs/how-it-works/ru.md). | ||
@@ -50,0 +51,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
304526
1.46%219
3.3%6201
0.85%125
0.81%