Files
foodster/mockups/favicon/c-lusikka.svg
T
Esa Kataja 0538d61ba6 Add a favicon, home-screen icons and a web manifest
The favicon is a bowl of soup: this household's catalog is half keitto, so it
is at least honest. favicon.svg follows the system theme in the tab strip.

Home-screen icons cannot do the same. They must be opaque and must not change
with the theme, so assets/icon.svg is a separate fixed-colour source, with the
artwork inside the central 80% for Android to mask to any launcher shape. The
same 512 is declared maskable in the manifest.

`make icons` rasterises with rsvg-convert and compresses with
`oxipng -o max --zopfli`, which beat `optipng -o7` at every size — 5860 bytes
against 6109 for the three files. Plain `oxipng -o max` was not an upgrade: it
won the two small icons and lost the 512, ending up larger overall. All output
verified pixel-identical to the rasterizer. The PNGs are committed so the
build needs no rasterizer.

Two things that only fail on a real device, so both are covered by smoke
checks: Go has no mime entry for .webmanifest and served it as octet-stream,
which browsers ignore; and a manifest fetch carries no credentials by default,
so behind Basic auth it needs crossorigin="use-credentials" or it 401s.
2026-09-05 18:58:42 +03:00

13 lines
545 B
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" role="img" aria-label="Foodster">
<!-- Lusikka: one spoon, set on the diagonal. A fork is the cliché; a spoon
on its own is not, and it stays a single solid shape at any size. -->
<style>
svg { color: #15616D; }
@media (prefers-color-scheme: dark) { svg { color: #58C6D2; } }
</style>
<g fill="currentColor" transform="rotate(34 16 16)">
<ellipse cx="16" cy="9.5" rx="5.4" ry="7"/>
<rect x="13.9" y="15" width="4.2" height="14" rx="2.1"/>
</g>
</svg>