Skip to content

Instantly share code, notes, and snippets.

@pladaria
Last active February 7, 2023 17:15
Show Gist options
  • Save pladaria/69321af86ce165c2c1fc1c718b098dd0 to your computer and use it in GitHub Desktop.
Save pladaria/69321af86ce165c2c1fc1c718b098dd0 to your computer and use it in GitHub Desktop.
SVGO config file
multipass: true
plugins:
- addAttributesToSVGElement: false
- addClassesToSVGElement: false
- cleanupAttrs: true
- cleanupEnableBackground: true
- cleanupIDs: true
- cleanupListOfValues: true
- cleanupNumericValues:
floatPrecision: 2
- collapseGroups: true
- convertColors: true
- convertPathData: true
- convertShapeToPath: true
- convertStyleToAttrs: true
- convertTransform: true
- mergePaths: true
- minifyStyles: true
- moveElemsAttrsToGroup: true
- moveGroupAttrsToElems: true
- removeAttrs: true
- removeComments: true
- removeDesc: true
- removeDimensions: true
- removeDoctype: true
- removeEditorsNSData: true
- removeElementsByAttr: true
- removeEmptyAttrs: true
- removeEmptyContainers: true
- removeEmptyText: true
- removeHiddenElems: true
- removeMetadata: true
- removeNonInheritableGroupAttrs: true
- removeRasterImages
- removeStyleElement: true
- removeTitle: true
- removeUnknownsAndDefaults: true
- removeUnusedNS: true
- removeUselessDefs: true
- removeUselessStrokeAndFill: true
- removeViewBox: true
- removeXMLNS: false
- removeXMLProcInst: true
- sortAttrs: true
- transformsWithOnePath: true
js2svg:
pretty: true
indent: ' '
@VincentVToscano
Copy link

@bramchi I have had no luck with what I mentioned above. I have also had no luck minifying JSON-LD between these tags:

<script type="application/ld+json">…</script>

Have you had any luck with either? 🤞

@bramchi
Copy link

bramchi commented Sep 27, 2022

@VincentVToscano Have you tried placing a regular svgo.config.js file alongside your package.json? That has given me some good results in the past for other packages. It gets picked up by the svgo core library, regardless of any config flags. Not sure a yml file will work, so make sure its a plain JavaScript file. It should contain something like this, a list of plugins that you want to enable:

module.exports = {
    plugins: [
      'removeDoctype',
      'removeXMLProcInst',
      'removeComments',
      'removeMetadata',
      'removeEditorsNSData',
      'cleanupAttrs',
      'inlineStyles',
      'minifyStyles',
      // 'cleanupIDs',
      'removeUselessDefs',
      'cleanupNumericValues',
      'convertColors',
      'removeUnknownsAndDefaults',
      'removeNonInheritableGroupAttrs',
      'removeUselessStrokeAndFill',
      // 'removeViewBox',
      'cleanupEnableBackground',
      'removeHiddenElems',
      'removeEmptyText',
      'convertShapeToPath',
      'convertEllipseToCircle',
      'moveElemsAttrsToGroup',
      'moveGroupAttrsToElems',
      'collapseGroups',
      'convertPathData',
      'convertTransform',
      'removeEmptyAttrs',
      'removeEmptyContainers',
      'mergePaths',
      'removeUnusedNS',
      'sortDefsChildren',
      'removeTitle',
      'removeDesc'
    ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment