CyCraft / CyCraft/pepicons

implement svgo in the node pipeline

Open
#28 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
59
Forks
6
PR merge metrics
No merged PRs in 30d

Description

https://github.com/svg/svgo

what I used in Sketch:
```
{
"comment": "This is the settings file for the SVGO Compressor Plugin. For more info, please check ",
"pretty": false,
"indent": 2,
"floatPrecision": 3,
"plugins": [
{
"name": "removeDoctype",
"enabled": true
},
{
"name": "removeXMLProcInst",
"enabled": true
},
{
"name": "removeComments",
"enabled": true
},
{
"name": "removeMetadata",
"enabled": true
},
{
"name": "removeXMLNS",
"enabled": false
},
{
"name": "removeEditorsNSData",
"enabled": true
},
{
"name": "cleanupAttrs",
"enabled": false
},
{
"name": "inlineStyles",
"enabled": false
},
{
"name": "minifyStyles",
"enabled": true
},
{
"name": "convertStyleToAttrs",
"enabled": true
},
{
"name": "cleanupIDs",
"enabled": true
},
{
"name": "prefixIds",
"enabled": false
},
{
"name": "removeRasterImages",
"enabled": false
},
{
"name": "removeUselessDefs",
"enabled": true
},
{
"name": "cleanupNumericValues",
"enabled": true
},
{
"name": "cleanupListOfValues",
"enabled": true
},
{
"name": "convertColors",
"enabled": true
},
{
"name": "removeUnknownsAndDefaults",
"enabled": true
},
{
"name": "removeNonInheritableGroupAttrs",
"enabled": true
},
{
"name": "removeUselessStrokeAndFill",
"enabled": true
},
{
"name": "removeViewBox",
"enabled": false
},
{
"name": "cleanupEnableBackground",
"enabled": false
},
{
"name": "removeHiddenElems",
"enabled": true
},
{
"name": "removeEmptyText",
"enabled": true
},
{
"name": "convertShapeToPath",
"enabled": true
},
{
"name": "moveElemsAttrsToGroup",
"enabled": false
},
{
"name": "moveGroupAttrsToElems",
"enabled": false
},
{
"name": "collapseGroups",
"enabled": true
},
{
"name": "convertPathData",
"enabled": true
},
{
"name": "convertTransform",
"enabled": true
},
{
"name": "removeEmptyAttrs",
"enabled": true
},
{
"name": "removeEmptyContainers",
"enabled": true
},
{
"name": "mergePaths",
"enabled": true
},
{
"name": "removeUnusedNS",
"enabled": true
},
{
"name": "sortAttrs",
"enabled": true
},
{
"name": "removeTitle",
"enabled": true
},
{
"name": "removeDesc",
"enabled": true,
"params": {
"removeAny": true
}
},
{
"name": "removeDimensions",
"enabled": false
},
{
"name": "removeAttrs",
"enabled": false
},
{
"name": "removeAttributesBySelector",
"enabled": false
},
{
"name": "removeElementsByAttr",
"enabled": false
},
{
"name": "addClassesToSVGElement",
"enabled": false
},
{
"name": "removeStyleElement",
"enabled": false
},
{
"name": "removeScriptElement",
"enabled": false
},
{
"name": "addAttributesToSVGElement",
"enabled": false
},
{
"name": "removeOffCanvasPaths",
"enabled": false
},
{
"name": "reusePaths",
"enabled": false
}
]
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the node pipeline and compare its current SVG processing with the linked SVGO project and the supplied Sketch settings. Done means SVGO runs in the pipeline with the requested configuration and the generated icons remain valid.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
build-system, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.