Initial Commit
This commit is contained in:
33
www/scripts/generate-icons.mjs
Normal file
33
www/scripts/generate-icons.mjs
Normal file
@@ -0,0 +1,33 @@
|
||||
import sharp from 'sharp'
|
||||
import { readFileSync } from 'fs'
|
||||
|
||||
const svg = readFileSync('public/favicon.svg')
|
||||
|
||||
const sizes = [192, 512]
|
||||
|
||||
for (const size of sizes) {
|
||||
await sharp(svg)
|
||||
.resize(size, size)
|
||||
.png()
|
||||
.toFile(`public/pwa-${size}x${size}.png`)
|
||||
console.log(`Generated pwa-${size}x${size}.png`)
|
||||
}
|
||||
|
||||
const maskablePad = 0.2
|
||||
for (const size of sizes) {
|
||||
const padPx = Math.round(size * maskablePad)
|
||||
await sharp(svg)
|
||||
.resize(size - padPx * 2, size - padPx * 2)
|
||||
.extend({
|
||||
top: padPx,
|
||||
bottom: padPx,
|
||||
left: padPx,
|
||||
right: padPx,
|
||||
background: { r: 10, g: 10, b: 10, alpha: 1 },
|
||||
})
|
||||
.png()
|
||||
.toFile(`public/pwa-${size}x${size}-maskable.png`)
|
||||
console.log(`Generated pwa-${size}x${size}-maskable.png`)
|
||||
}
|
||||
|
||||
console.log('Done.')
|
||||
Reference in New Issue
Block a user