From 87175b99de52098228029b805f99c83728f78375 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 06:12:20 +0000 Subject: [PATCH] Put the abap2UI5 logo in the tab The page shipped `` - a deliberately empty icon, which buys a browser that does not ask for a favicon and costs the page its face. In a row of tabs it was a blank sheet beside the documentation, which has carried the logo all along, so the two did not read as one project. `favicon.ico` is that same mark. It is the artwork of `docs/public/favicon.ico` in abap2UI5/docs, rescaled rather than copied: that file is a single 256px frame stored uncompressed, 265 KB, twenty times the weight of this whole page for something a browser draws at 16px. This one carries 16/32/48/64/128 as PNG frames in 16 KB. The source is 256x251, not square, so the frames are fitted and padded - a single frame is what a browser squashes. deploy-web asserts it like the other static files: an icon that silently stopped being uploaded is exactly the kind of thing nobody notices. Identical in samples, samples-controls and samples-stack, and documented in web/README.md of each. Claude-Session: https://claude.ai/code/session_01XEQ6sewT1hd5KvrCKZrNEo Co-authored-by: Claude --- .github/workflows/deploy-web.yaml | 4 ++-- web/README.md | 17 +++++++++++++++++ web/favicon.ico | Bin 0 -> 15829 bytes web/index.html | 6 +++++- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 web/favicon.ico diff --git a/.github/workflows/deploy-web.yaml b/.github/workflows/deploy-web.yaml index 168d32e..7f1a23a 100644 --- a/.github/workflows/deploy-web.yaml +++ b/.github/workflows/deploy-web.yaml @@ -60,11 +60,11 @@ jobs: # The gate this pipeline needs now that there is nothing here that can # fail to build: a page whose data file is missing deploys exactly like a # working one — it just says "the catalogue could not be loaded" to every - # visitor. Assert the four files and a non-trivial index before uploading. + # visitor. Assert the five files and a non-trivial index before uploading. - name: Check the artefact is complete run: | cd web - for f in index.html stack.css stack.js apps.json; do + for f in index.html stack.css stack.js apps.json favicon.ico; do test -s "$f" || { echo "deploy-web: $f is missing or empty"; exit 1; } done node -e ' diff --git a/web/README.md b/web/README.md index c52cdf9..0e42f69 100644 --- a/web/README.md +++ b/web/README.md @@ -10,6 +10,7 @@ system actually runs. Published by the web/index.html the page — one file, no framework web/stack.css one stylesheet, light and dark off one set of custom properties web/stack.js filtering and drawing — plain ES2020, no dependencies +web/favicon.ico the abap2UI5 logo in the tab (see below) web/apps.json generated, NOT committed (see below) ``` @@ -49,6 +50,22 @@ keeps every package at or below it. The counts are in the labels, so what an older system costs is visible before the click. Filters live in the URL, so a search is linkable. +## The icon in the tab + +`favicon.ico` is the abap2UI5 logo — the same mark +[the documentation](https://abap2ui5.github.io/docs/) puts in the tab, so the +four pages of the project read as one project in a row of browser tabs rather +than as three anonymous ones beside it. + +It is the artwork of `docs/public/favicon.ico` in +[abap2UI5/docs](https://github.com/abap2UI5/docs), rescaled: that file is one +256 px frame stored uncompressed, 265 KB, which is twenty times this whole page +for something a browser draws at 16 px. This one carries 16/32/48/64/128 px as +PNG frames in ~16 KB, so every size the browser asks for is a frame that was +drawn for it and none of them is squashed — the source is 256 × 251, not +square, so a single frame is what a browser distorts. Identical in all three +sample repositories. + ## The bar at the top is shared, and so is the strip at the bottom Three repositories publish three pages that answer three different questions, diff --git a/web/favicon.ico b/web/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d6eb7ad8312e78a13f854a98516121f14ba17792 GIT binary patch literal 15829 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 literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html index 53bb3dc..926fe8f 100644 --- a/web/index.html +++ b/web/index.html @@ -5,7 +5,11 @@ abap2UI5 and your stack · samples-stack - + + +