|
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