[MOD] generate manifest PWA icons (#5859)

This commit is contained in:
Ruben D.
2026-03-16 20:32:36 +01:00
committed by Markus Heiser
parent 3dc4d5daa8
commit 5e8255f28a
3 changed files with 32 additions and 3 deletions
+6 -1
View File
@@ -18,8 +18,10 @@ export type Src2Dest = {
* Convert a list of SVG files to PNG.
*
* @param items - Array of SVG files (src: SVG, dest:PNG) to convert.
* @param width - (optional) width of the PNG pictures
* @param height - (optional) height of the PNG pictures.
*/
export const svg2png = (items: Src2Dest[]): void => {
export const svg2png = (items: Src2Dest[], width?: number, height?: number): void => {
for (const item of items) {
fs.mkdirSync(path.dirname(item.dest), { recursive: true });
@@ -29,6 +31,9 @@ export const svg2png = (items: Src2Dest[]): void => {
compressionLevel: 9,
palette: true
})
.resize(width, height, {
fit: "contain"
})
.toFile(item.dest)
.then((info) => {
console.log(`[svg2png] created ${item.dest} -- bytes: ${info.size}, w:${info.width}px, h:${info.height}px`);
+4 -2
View File
@@ -17,13 +17,15 @@ import { type Src2Dest, svg2png, svg2svg } from "./img.ts";
* Vite plugin to convert a list of SVG files to PNG.
*
* @param items - Array of SVG files (src: SVG, dest:PNG) to convert.
* @param width - (optional) width of the PNG picture
* @param height - (optional) height of the PNG picture
*/
export const plg_svg2png = (items: Src2Dest[]): Plugin => {
export const plg_svg2png = (items: Src2Dest[], width?: number, height?: number): Plugin => {
return {
name: "searxng-simple-svg2png",
apply: "build",
writeBundle: () => {
svg2png(items);
svg2png(items, width, height);
}
};
};
+22
View File
@@ -132,6 +132,28 @@ export default {
}
]),
// SearXNG PWA Icons (static)
plg_svg2png(
[
{
src: `${PATH.brand}/searxng-wordmark.svg`,
dest: `${PATH.dist}/img/512.png`
}
],
512,
512
),
plg_svg2png(
[
{
src: `${PATH.brand}/searxng-wordmark.svg`,
dest: `${PATH.dist}/img/192.png`
}
],
192,
192
),
// -- svg
plg_svg2svg(
[