diff options
| author | Ivan Gabaldon <igabaldon@inetol.net> | 2025-06-28 10:19:15 +0200 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarIT.de> | 2025-07-03 17:35:05 +0200 |
| commit | 95172213f69c8fe85a0af69dd2654c7a77327968 (patch) | |
| tree | c5ce5d7f75f2be026100023ce52f227c8f521bbf /client/simple/tools | |
| parent | a947d5b3cff32104ee009113226feab45439dbdd (diff) | |
[mod] theme/simple: fmt/lint minor pass
*Safe* changes, no behaviour changes.
- Initial ES5 to ES2015+ conversion.
- Plenty of styling diff changes.
Diffstat (limited to 'client/simple/tools')
| -rw-r--r-- | client/simple/tools/img.js | 70 | ||||
| -rw-r--r-- | client/simple/tools/jinja_svg_catalog.js | 67 | ||||
| -rw-r--r-- | client/simple/tools/plg.js | 19 |
3 files changed, 67 insertions, 89 deletions
diff --git a/client/simple/tools/img.js b/client/simple/tools/img.js index 8f815970a..3f79f5ac5 100644 --- a/client/simple/tools/img.js +++ b/client/simple/tools/img.js @@ -9,40 +9,35 @@ import { optimize as svgo } from "svgo"; * @property {string} dest - Name of the destination file. */ - /** * Convert a list of SVG files to PNG. * * @param {Src2Dest[]} items - Array of SVG files (src: SVG, dest:PNG) to convert. */ -async function svg2png (items) { - items.forEach( - async (item) => { - try { - fs.mkdir(path.dirname(item.dest), { recursive: true }, (err) => { - if (err) - throw err; - }); +async function svg2png(items) { + items.forEach(async (item) => { + try { + fs.mkdir(path.dirname(item.dest), { recursive: true }, (err) => { + if (err) throw err; + }); - const info = await sharp(item.src).png({ + const info = await sharp(item.src) + .png({ force: true, compressionLevel: 9, - palette: true, - }).toFile(item.dest); + palette: true + }) + .toFile(item.dest); - console.log( - `[svg2png] created ${item.dest} -- bytes: ${info.size}, w:${info.width}px, h:${info.height}px` - ); - } catch (err) { - console.error(`ERROR: ${item.dest} -- ${err}`); - throw(err); - } + console.log(`[svg2png] created ${item.dest} -- bytes: ${info.size}, w:${info.width}px, h:${info.height}px`); + } catch (err) { + console.error(`ERROR: ${item.dest} -- ${err}`); + throw err; } - ); + }); } - /** * Optimize SVG images for WEB. * @@ -51,28 +46,21 @@ async function svg2png (items) { */ async function svg2svg(svgo_opts, items) { - items.forEach( - async (item) => { - try { - fs.mkdir(path.dirname(item.dest), { recursive: true }, (err) => { - if (err) - throw err; - }); + items.forEach(async (item) => { + try { + fs.mkdir(path.dirname(item.dest), { recursive: true }, (err) => { + if (err) throw err; + }); - const raw = fs.readFileSync(item.src, "utf8"); - const opt = svgo(raw, svgo_opts); - fs.writeFileSync(item.dest, opt.data); - console.log( - `[svg2svg] optimized: ${item.dest} -- src: ${item.src}` - ); - - } catch (err) { - console.error(`ERROR: optimize src: ${item.src} -- ${err}`); - throw(err); - } + const raw = fs.readFileSync(item.src, "utf8"); + const opt = svgo(raw, svgo_opts); + fs.writeFileSync(item.dest, opt.data); + console.log(`[svg2svg] optimized: ${item.dest} -- src: ${item.src}`); + } catch (err) { + console.error(`ERROR: optimize src: ${item.src} -- ${err}`); + throw err; } - ); + }); } - export { svg2png, svg2svg }; diff --git a/client/simple/tools/jinja_svg_catalog.js b/client/simple/tools/jinja_svg_catalog.js index e3e8f1216..a3e4fd166 100644 --- a/client/simple/tools/jinja_svg_catalog.js +++ b/client/simple/tools/jinja_svg_catalog.js @@ -1,8 +1,8 @@ +import { Edge } from "edge.js"; import fs from "fs"; -import { resolve, dirname } from "path"; -import { Edge } from 'edge.js'; +import { dirname, resolve } from "path"; import { optimize as svgo } from "svgo"; -import { fileURLToPath } from 'url'; +import { fileURLToPath } from "url"; const __dirname = dirname(fileURLToPath(import.meta.url)); const __jinja_class_placeholder__ = "__jinja_class_placeholder__"; @@ -30,7 +30,6 @@ const __jinja_class_placeholder__ = "__jinja_class_placeholder__"; * @property {string} class - SVG's class name (value of XML class attribute) */ - // -- functions /** @@ -43,34 +42,30 @@ const __jinja_class_placeholder__ = "__jinja_class_placeholder__"; */ function jinja_svg_catalog(dest, macros, items) { - const svg_catalog = {}; const edge_template = resolve(__dirname, "jinja_svg_catalog.html.edge"); - items.forEach( - (item) => { - - /** @type {import("svgo").Config} */ - // JSON.stringify & JSON.parse are used to create a deep copy of the - // item.svgo_opts object - const svgo_opts = JSON.parse(JSON.stringify(item.svgo_opts)); - svgo_opts.plugins.push({ - name: "addClassesToSVGElement", - params: { - classNames: [__jinja_class_placeholder__] - }} - ); - - try { - const raw = fs.readFileSync(item.src, "utf8"); - const opt = svgo(raw, svgo_opts); - svg_catalog[item.name] = opt.data; - } catch (err) { - console.error(`ERROR: jinja_svg_catalog processing ${item.name} src: ${item.src} -- ${err}`); - throw(err); + items.forEach((item) => { + /** @type {import("svgo").Config} */ + // JSON.stringify & JSON.parse are used to create a deep copy of the + // item.svgo_opts object + const svgo_opts = JSON.parse(JSON.stringify(item.svgo_opts)); + svgo_opts.plugins.push({ + name: "addClassesToSVGElement", + params: { + classNames: [__jinja_class_placeholder__] } + }); + + try { + const raw = fs.readFileSync(item.src, "utf8"); + const opt = svgo(raw, svgo_opts); + svg_catalog[item.name] = opt.data; + } catch (err) { + console.error(`ERROR: jinja_svg_catalog processing ${item.name} src: ${item.src} -- ${err}`); + throw err; } - ); + }); fs.mkdir(dirname(dest), { recursive: true }, (err) => { if (err) throw err; @@ -82,20 +77,16 @@ function jinja_svg_catalog(dest, macros, items) { edge_template: edge_template, __jinja_class_placeholder__: __jinja_class_placeholder__, // see https://github.com/edge-js/edge/issues/162 - open_curly_brace : "{{", - close_curly_brace : "}}" + open_curly_brace: "{{", + close_curly_brace: "}}" }; - const jinjatmpl = Edge.create().renderRawSync( - fs.readFileSync(edge_template, "utf-8"), - ctx - ); + const jinjatmpl = Edge.create().renderRawSync(fs.readFileSync(edge_template, "utf-8"), ctx); fs.writeFileSync(dest, jinjatmpl); console.log(`[jinja_svg_catalog] created: ${dest}`); } - /** * Calls jinja_svg_catalog for a collection of icon sets where each set has its * own parameters. @@ -109,7 +100,6 @@ function jinja_svg_sets(dest, macros, sets) { const items = []; const all = []; for (const obj of sets) { - for (const [name, file] of Object.entries(obj.set)) { if (all.includes(name)) { throw new Error(`ERROR: ${name} has already been defined`); @@ -117,7 +107,7 @@ function jinja_svg_sets(dest, macros, sets) { items.push({ name: name, src: resolve(obj.base, file), - svgo_opts: obj.svgo_opts, + svgo_opts: obj.svgo_opts }); } jinja_svg_catalog(dest, macros, items); @@ -126,7 +116,4 @@ function jinja_svg_sets(dest, macros, sets) { // -- exports -export { - jinja_svg_sets, - jinja_svg_catalog, -}; +export { jinja_svg_sets, jinja_svg_catalog }; diff --git a/client/simple/tools/plg.js b/client/simple/tools/plg.js index 16ec268b6..6cd4d491d 100644 --- a/client/simple/tools/plg.js +++ b/client/simple/tools/plg.js @@ -8,8 +8,7 @@ * needed. */ -import { svg2png } from "./img.js"; -import { svg2svg } from "./img.js"; +import { svg2png, svg2svg } from "./img.js"; /** * Vite plugin to convert a list of SVG files to PNG. @@ -18,9 +17,11 @@ import { svg2svg } from "./img.js"; */ function plg_svg2png(items) { return { - name: 'searxng-simple-svg2png', - apply: 'build', // or 'serve' - async writeBundle() { svg2png(items); }, + name: "searxng-simple-svg2png", + apply: "build", // or 'serve' + async writeBundle() { + svg2png(items); + } }; } @@ -32,9 +33,11 @@ function plg_svg2png(items) { */ function plg_svg2svg(svgo_opts, items) { return { - name: 'searxng-simple-svg2png', - apply: 'build', // or 'serve' - async writeBundle() { svg2svg(items, svgo_opts); }, + name: "searxng-simple-svg2png", + apply: "build", // or 'serve' + async writeBundle() { + svg2svg(items, svgo_opts); + } }; } |