Phase 17: UI Optimization & Polish #24
@@ -4,6 +4,7 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
||||
<!-- favicon.ico is hand-maintained (not emitted by pwa:icons); regenerate manually when the brand mark changes — see scripts/copy-pwa-icons.mjs (IN-02). -->
|
||||
<link rel="icon" href="/favicon.ico" sizes="any" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" />
|
||||
<meta name="theme-color" content="#e8915a" />
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
* chain so Windows contributors and minimal CI containers can run `pwa:icons`.
|
||||
*
|
||||
* Keep COPIES in sync with the manifest `icons` array in vite.config.ts.
|
||||
*
|
||||
* NOTE (IN-02): public/favicon.ico is NOT produced by this script — the
|
||||
* minimal2023Preset does not emit a .ico. It is hand-maintained and committed
|
||||
* directly in public/, and referenced by index.html (`<link rel="icon"
|
||||
* href="/favicon.ico">`). When the brand mark changes, regenerate favicon.ico
|
||||
* manually so it does not go stale relative to the SVG/PNG outputs below.
|
||||
*/
|
||||
import { copyFileSync, existsSync } from 'node:fs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
Reference in New Issue
Block a user