-
Notifications
You must be signed in to change notification settings - Fork 0
/
svgo.config.js
59 lines (56 loc) · 1.12 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
const addViewBox = {
name: "addViewBox",
type: "full",
description: "Replace width and height with viewBox",
params: {},
fn: () => {
// console.log(data)
// const svg = data.content[0]
// if (
// svg.isElem("svg") &&
// "width" in svg.attrs &&
// "height" in svg.attrs &&
// !("viewBox" in svg.attrs)
// ) {
// svg.addAttr({
// name: "viewBox",
// value: `0 0 ${svg.attr("width").value} ${svg.attr("height").value}`,
// prefix: "",
// local: "class",
// })
// svg.removeAttr("width")
// svg.removeAttr("height")
// }
// return data
return {
element: {
enter: (node) => {
const attrs = node.attributes
if (
node.name == "svg" &&
"width" in attrs &&
"height" in attrs &&
!("viewBox" in attrs)
) {
node.attributes.addViewBox = `0 0 ${attrs.width} ${attrs.height}`
node.attributes.width = undefined
node.attributes.height = undefined
}
},
},
}
},
}
module.exports = {
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeViewBox: false,
},
},
},
addViewBox,
],
}