|
3 | 3 |
|
4 | 4 | const imageminZopfli = require('imagemin-zopfli'); |
5 | 5 | const {fabric} = require('fabric'); |
6 | | -const {DOMParser, XMLSerializer} = require('xmldom'); |
7 | 6 | const {readFile, writeFile} = require('fs').promises; |
8 | 7 | const {resolve} = require('path'); |
9 | 8 | const Svgo = require('svgo'); |
@@ -40,23 +39,7 @@ async function generateSvgFavicon(svg, outputFile) { |
40 | 39 | await writeFile(outputFile, data); |
41 | 40 | } |
42 | 41 |
|
43 | | -async function generate(svg, outputFile, {size, bg, removeDetail} = {}) { |
44 | | - const parser = new DOMParser(); |
45 | | - const serializer = new XMLSerializer(); |
46 | | - const document = parser.parseFromString(svg); |
47 | | - |
48 | | - if (removeDetail) { |
49 | | - for (const el of Array.from(document.getElementsByTagName('g') || [])) { |
50 | | - for (const attribute of Array.from(el.attributes || [])) { |
51 | | - if (attribute.name === 'class' && attribute.value === 'detail-remove') { |
52 | | - el.parentNode.removeChild(el); |
53 | | - } |
54 | | - } |
55 | | - } |
56 | | - } |
57 | | - |
58 | | - svg = serializer.serializeToString(document); |
59 | | - |
| 42 | +async function generate(svg, outputFile, {size, bg}) { |
60 | 43 | const {objects, options} = await loadSvg(svg); |
61 | 44 | const canvas = new fabric.Canvas(); |
62 | 45 | canvas.setDimensions({width: size, height: size}); |
@@ -93,7 +76,7 @@ async function main() { |
93 | 76 | await generate(svg, resolve(__dirname, '../public/img/gitea-192.png'), {size: 192}); |
94 | 77 | await generate(svg, resolve(__dirname, '../public/img/gitea-sm.png'), {size: 120}); |
95 | 78 | await generate(svg, resolve(__dirname, '../public/img/avatar_default.png'), {size: 200}); |
96 | | - await generate(svg, resolve(__dirname, '../public/img/favicon.png'), {size: 180, removeDetail: true}); |
| 79 | + await generate(svg, resolve(__dirname, '../public/img/favicon.png'), {size: 180}); |
97 | 80 | await generate(svg, resolve(__dirname, '../public/img/apple-touch-icon.png'), {size: 180, bg: true}); |
98 | 81 | } |
99 | 82 |
|
|
0 commit comments