20 lines
770 B
JavaScript
20 lines
770 B
JavaScript
|
|
// Rendert PWA-Icons aus static/icon.svg in die Größen, die Android/iOS
|
||
|
|
// für Home-Screen-Icons bevorzugen. Einmal lokal ausführen und die
|
||
|
|
// PNGs committen — keine CI-Abhängigkeit.
|
||
|
|
import sharp from 'sharp';
|
||
|
|
import { readFile } from 'node:fs/promises';
|
||
|
|
import { fileURLToPath } from 'node:url';
|
||
|
|
import { dirname, join } from 'node:path';
|
||
|
|
|
||
|
|
const here = dirname(fileURLToPath(import.meta.url));
|
||
|
|
const root = join(here, '..');
|
||
|
|
const src = await readFile(join(root, 'static/icon.svg'));
|
||
|
|
|
||
|
|
for (const size of [192, 512]) {
|
||
|
|
await sharp(src, { density: 400 })
|
||
|
|
.resize(size, size, { fit: 'contain', background: { r: 248, g: 250, b: 248, alpha: 1 } })
|
||
|
|
.png()
|
||
|
|
.toFile(join(root, `static/icon-${size}.png`));
|
||
|
|
console.log(`wrote static/icon-${size}.png`);
|
||
|
|
}
|