simple-icons/.svgo.yml
Eric Cornelissen 3af76b75d3
Add NPM script to perform SVGO optimization from the repository (#1476)
* Add SVGO as devDependencies and a NPM script to run it

* Update Contributing Guidelines

Change the instructions on how to use SVGO to optimize SVGs to use the 
new dependency and NPM script.

* Add configuration for the NPM command to optimize SVGs

* Specify --precision  in SVGO configuration file

* Update SVGO config ordering of attributes

To be in line with the fact that, as @davidklebanoff pointed out: "most 
(all?) have the attributes in the order of role, viewbox, xmlns 
(alphabetical)"

* Move SVGO --multipass argument to .svgo.yml

* Update SVGO dependency to 1.3.0

Now the force merge option works 🎉

See: https://github.com/svg/svgo/releases/tag/v1.3.0

* Update outdated "blocking" comment
2019-07-15 15:14:50 +01:00

75 lines
1.5 KiB
YAML

multipass: true
plugins:
# Set <path> precision to 3 decimal places
- convertPathData:
floatPrecision: 3
# Sort attributes on the <SVG>
- sortAttrs:
order:
- role
- viewBox
xmlnsOrder: end
# Convert basic shapes (such as <circle>) to <path>, including <arc>
- convertShapeToPath:
convertArcs: true
# Compound all <path>s into one
- mergePaths:
force: true
# Keep the <title>
- removeTitle: false
# Don't remove the role="img" attribute and automatically
# add it to the SVG if it's not
- addAttributesToSVGElement:
attributes:
- role: img
- removeUnknownsAndDefaults:
keepRoleAttr: true
# Enable everything else
- removeDoctype
- removeXMLProcInst
- removeComments
- removeMetadata
- removeXMLNS
- removeEditorsNSData
- cleanupAttrs
- inlineStyles
- minifyStyles
- convertStyleToAttrs
- cleanupIDs
- prefixIds
- removeRasterImages
- removeUselessDefs
- cleanupNumericValues
- cleanupListOfValues
- convertColors
- removeNonInheritableGroupAttrs
- removeUselessStrokeAndFill
- removeViewBox
- cleanupEnableBackground
- removeHiddenElems
- removeEmptyText
- moveElemsAttrsToGroup
- moveGroupAttrsToElems
- collapseGroups
- convertTransform
- removeEmptyAttrs
- removeEmptyContainers
- removeUnusedNS
- removeDesc
- removeDimensions
- removeAttrs
- removeAttributesBySelector
- removeElementsByAttr
- addClassesToSVGElement
- removeStyleElement
- removeScriptElement
- removeOffCanvasPaths
- reusePaths