forked from simple-icons/simple-icons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
svgo.config.js
105 lines (96 loc) · 2.95 KB
/
svgo.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
module.exports = {
multipass: true,
plugins: [
{
name: 'preset-default',
params: {
overrides: {
// customize options
convertPathData: {
// 3 decimals of precision in floating point numbers
floatPrecision: 3,
// Some editors (e.g. Adobe Illustrator and Sketch) cannot parse flags
// without space wrapping
noSpaceAfterFlags: false,
},
// Sort the attributes on the <svg> tag
sortAttrs: {
order: ['role', 'viewBox'],
xmlnsOrder: 'end',
},
// Convert basic shapes (such as <circle>) to <path>
convertShapeToPath: {
// including <arc>
convertArcs: true,
},
// Compound all <path>s into one
mergePaths: {
force: true,
noSpaceAfterFlags: false,
},
// Keep the <title> tag
removeTitle: false,
// Keep the role="img" attribute and automatically add it
// to the <svg> tag if it's not there already
addAttributesToSVGElement: {
attributes: [
{role: 'img'},
],
},
// Keep the 'role' attribute, if it's already defined
removeUnknownsAndDefaults: {
keepRoleAttr: true,
},
// Remove all attributes except 'role', 'viewBox', and 'xmlns' from
// <svg> tags
removeAttrs: {
attrs: [
'baseProfile',
'version',
'fill-rule',
],
},
// Remove paths with fill="none"
removeUselessStrokeAndFill: {
removeNone: true,
},
// Explicitly enable everything else
removeDoctype: true,
removeXMLProcInst: true,
removeComments: true,
removeMetadata: true,
removeEditorsNSData: true,
cleanupAttrs: true,
inlineStyles: true,
minifyStyles: true,
convertStyleToAttrs: true,
cleanupIDs: true,
prefixIds: true,
removeRasterImages: true,
removeUselessDefs: true,
cleanupNumericValues: true,
cleanupListOfValues: true,
convertColors: true,
removeNonInheritableGroupAttrs: true,
removeViewBox: true,
cleanupEnableBackground: true,
removeHiddenElems: true,
removeEmptyText: true,
moveElemsAttrsToGroup: true,
moveGroupAttrsToElems: true,
collapseGroups: true,
convertTransform: true,
removeEmptyAttrs: true,
removeEmptyContainers: true,
removeUnusedNS: true,
removeDesc: true,
removeDimensions: true,
removeStyleElement: true,
removeScriptElement: true,
removeOffCanvasPaths: true,
reusePaths: true,
},
},
},
],
};