ZockerAnstalt und Analyse: Symbole unter den richtigen Namen
Der erste Entwurf legte sie unter eigenen Namen daneben (dogfather-zocker-192.png). Die Dateien lagen da, die Manifeste zeigten weiter auf icon-192.png -- das neue Symbol waere nie angekommen. Der Kopiervorgang meldete trotzdem 6 Symbole kopiert. Jetzt werden die vorhandenen Namen ueberschrieben. Damit greifen Manifest und HTML ohne weitere Aenderung, und es gibt keine zweite Stelle, an der ein Verweis uebersehen werden kann. Fehlt ein erwarteter Name, wird das gemeldet statt still uebergangen. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
Aufrufen mit: node tools/app-symbole-einbinden.mjs
|
Aufrufen mit: node tools/app-symbole-einbinden.mjs
|
||||||
=================================================================== */
|
=================================================================== */
|
||||||
|
|
||||||
import { readFileSync, writeFileSync, existsSync, readdirSync, mkdirSync, copyFileSync } from "node:fs";
|
import { readFileSync, writeFileSync, existsSync, readdirSync, mkdirSync, copyFileSync, unlinkSync } from "node:fs";
|
||||||
import { join, dirname } from "node:path";
|
import { join, dirname } from "node:path";
|
||||||
import { fileURLToPath } from "node:url";
|
import { fileURLToPath } from "node:url";
|
||||||
import { APPS, FARBEN, STIL_JE_APP, STILE } from "./app-symbole.mjs";
|
import { APPS, FARBEN, STIL_JE_APP, STILE } from "./app-symbole.mjs";
|
||||||
@@ -233,19 +233,68 @@ for (const rel of htmlSeiten()) {
|
|||||||
/* ---------------------------------------------------------------------
|
/* ---------------------------------------------------------------------
|
||||||
3. Die zwei Apps in eigenen Ordnern
|
3. Die zwei Apps in eigenen Ordnern
|
||||||
------------------------------------------------------------------ */
|
------------------------------------------------------------------ */
|
||||||
|
/* Je Projekt: welcher Dateiname DORT benutzt wird -> welche Groesse von
|
||||||
|
uns dorthin gehoert. Die Namen stammen aus dem jeweiligen Manifest,
|
||||||
|
nicht aus einer Vermutung. */
|
||||||
const AUSWAERTS = [
|
const AUSWAERTS = [
|
||||||
{ name: "Dogi's ZockerAnstalt", schluessel: "zocker",
|
{
|
||||||
ziel: "C:/Users/qciga/Documents/Obelix/Spielehalle/public/icons" },
|
name: "Dogi's ZockerAnstalt", schluessel: "zocker",
|
||||||
{ name: "DogFather Analyse", schluessel: "analyse",
|
ziel: "C:/Users/qciga/Documents/Obelix/Spielehalle/public/icons",
|
||||||
ziel: "C:/Users/qciga/Documents/Obelix/Analyse/logos" },
|
namen: {
|
||||||
|
"icon-192.png": "192",
|
||||||
|
"icon-512.png": "512",
|
||||||
|
"icon-maskable-192.png": "192-maskable",
|
||||||
|
"icon-maskable-512.png": "512-maskable",
|
||||||
|
"apple-touch-icon.png": "180",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DogFather Analyse", schluessel: "analyse",
|
||||||
|
ziel: "C:/Users/qciga/Documents/Obelix/Analyse/logos",
|
||||||
|
namen: {
|
||||||
|
"pwa-icon-192.png": "192",
|
||||||
|
"pwa-icon-512.png": "512",
|
||||||
|
"pwa-icon-maskable-512.png": "512-maskable",
|
||||||
|
"pwa-apple-touch-icon.png": "180",
|
||||||
|
"pwa-favicon-32.png": "32",
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const { name, schluessel, ziel } of AUSWAERTS) {
|
/* DIE VORHANDENEN NAMEN ÜBERSCHREIBEN, keine neuen danebenlegen.
|
||||||
|
|
||||||
|
Der erste Entwurf legte die Symbole unter eigenen Namen ab
|
||||||
|
(`dogfather-zocker-192.png`). Das Ergebnis: Die Dateien lagen da, das
|
||||||
|
Manifest der ZockerAnstalt zeigte weiter auf `icon-192.png` -- und
|
||||||
|
das neue Symbol wäre nie irgendwo angekommen. Aufgefallen erst beim
|
||||||
|
Nachsehen, nicht beim Kopieren; der Kopiervorgang meldete brav
|
||||||
|
"6 Symbole kopiert".
|
||||||
|
|
||||||
|
Jetzt werden die Namen überschrieben, die dort schon benutzt werden.
|
||||||
|
Damit greifen Manifest, HTML und alles andere ohne eine einzige
|
||||||
|
weitere Änderung -- und es gibt keine zweite Stelle, an der jemand
|
||||||
|
einen Verweis übersehen kann.
|
||||||
|
|
||||||
|
Fehlt ein erwarteter Name, wird das gemeldet statt still übergangen:
|
||||||
|
Ein Symbol, das niemand einbindet, ist kein erledigter Auftrag. */
|
||||||
|
for (const { name, schluessel, ziel, namen } of AUSWAERTS) {
|
||||||
if (!existsSync(ziel)) { berichte.push(` ? ${name}: ${ziel} gibt es nicht`); continue; }
|
if (!existsSync(ziel)) { berichte.push(` ? ${name}: ${ziel} gibt es nicht`); continue; }
|
||||||
for (const g of ["192", "512", "192-maskable", "512-maskable", "180", "32"]) {
|
let ersetzt = 0;
|
||||||
copyFileSync(join(SYM, `${schluessel}-${g}.png`), join(ziel, `dogfather-${schluessel}-${g}.png`));
|
const fehlend = [];
|
||||||
|
for (const [dort, meins] of Object.entries(namen)) {
|
||||||
|
const quelle = join(SYM, `${schluessel}-${meins}.png`);
|
||||||
|
const zielDatei = join(ziel, dort);
|
||||||
|
if (!existsSync(zielDatei)) { fehlend.push(dort); continue; }
|
||||||
|
copyFileSync(quelle, zielDatei);
|
||||||
|
ersetzt++;
|
||||||
}
|
}
|
||||||
berichte.push(` ✓ ${name}: 6 Symbole nach ${ziel.split("/").slice(-3).join("/")} kopiert`);
|
/* Die alten Dateien mit eigenem Namen aus dem ersten Entwurf wegräumen. */
|
||||||
|
for (const g of ["192", "512", "192-maskable", "512-maskable", "180", "32"]) {
|
||||||
|
const alt = join(ziel, `dogfather-${schluessel}-${g}.png`);
|
||||||
|
if (existsSync(alt)) { try { unlinkSync(alt); } catch { /* egal */ } }
|
||||||
|
}
|
||||||
|
berichte.push(` ${fehlend.length ? "!" : "✓"} ${name}: ${ersetzt} Symbole ersetzt`
|
||||||
|
+ (fehlend.length ? ` — NICHT GEFUNDEN: ${fehlend.join(", ")}` : ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------
|
/* ---------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user