Skip to content

Commit f337762

Browse files
Optimus-NPkelson42
authored andcommitted
favicon: improve PWA and cross-platform icon support
Add proper configuration for Progressive Web App (PWA) and platform-specific icons across the application. Changes include: - Update site.webmanifest with correct icon purposes for PWA - Add Android Chrome icons (192x192, 512x512) to HTML - Add Windows tile image configuration - Ensure consistency between JS and no-JS pages This ensures proper icon display across all platforms while following platform-specific best practices for icon implementation.
1 parent e415958 commit f337762

File tree

5 files changed

+70
-10
lines changed

5 files changed

+70
-10
lines changed

static/skin/favicon/site.webmanifest

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,66 @@
11
{
2-
"name": "",
3-
"short_name": "",
2+
"name": "Kiwix",
3+
"short_name": "Kiwix",
44
"icons": [
5+
{
6+
"src": "favicon-16x16.png",
7+
"sizes": "16x16",
8+
"type": "image/png"
9+
},
10+
{
11+
"src": "favicon-32x32.png",
12+
"sizes": "32x32",
13+
"type": "image/png"
14+
},
15+
{
16+
"src": "mstile-70x70.png",
17+
"sizes": "70x70",
18+
"type": "image/png"
19+
},
20+
{
21+
"src": "mstile-144x144.png",
22+
"sizes": "144x144",
23+
"type": "image/png"
24+
},
25+
{
26+
"src": "mstile-150x150.png",
27+
"sizes": "150x150",
28+
"type": "image/png"
29+
},
30+
{
31+
"src": "mstile-310x150.png",
32+
"sizes": "310x150",
33+
"type": "image/png"
34+
},
35+
{
36+
"src": "mstile-310x310.png",
37+
"sizes": "310x310",
38+
"type": "image/png"
39+
},
540
{
641
"src": "android-chrome-192x192.png",
742
"sizes": "192x192",
8-
"type": "image/png"
43+
"type": "image/png",
44+
"purpose": "any maskable"
945
},
1046
{
1147
"src": "android-chrome-512x512.png",
1248
"sizes": "512x512",
49+
"type": "image/png",
50+
"purpose": "any maskable"
51+
},
52+
{
53+
"src": "apple-touch-icon.png",
54+
"sizes": "180x180",
1355
"type": "image/png"
1456
}
1557
],
1658
"theme_color": "#ffffff",
1759
"background_color": "#ffffff",
18-
"display": "standalone"
60+
"display": "standalone",
61+
"start_url": "/",
62+
"description": "Kiwix lets you access free knowledge – even offline",
63+
"orientation": "any",
64+
"categories": ["education", "books", "reference"],
65+
"lang": "en"
1966
}

static/templates/index.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@
2626
<link rel="apple-touch-icon" sizes="180x180" href="{{root}}/skin/favicon/apple-touch-icon.png?KIWIXCACHEID">
2727
<link rel="icon" type="image/png" sizes="32x32" href="{{root}}/skin/favicon/favicon-32x32.png?KIWIXCACHEID">
2828
<link rel="icon" type="image/png" sizes="16x16" href="{{root}}/skin/favicon/favicon-16x16.png?KIWIXCACHEID">
29-
<link rel="manifest" href="{{root}}/skin/favicon/site.webmanifest?KIWIXCACHEID">
29+
<link rel="icon" type="image/png" sizes="192x192" href="{{root}}/skin/favicon/android-chrome-192x192.png?KIWIXCACHEID">
30+
<link rel="icon" type="image/png" sizes="512x512" href="{{root}}/skin/favicon/android-chrome-512x512.png?KIWIXCACHEID">
31+
<link rel="manifest" href="{{root}}/skin/favicon/site.webmanifest?KIWIXCACHEID" crossorigin="use-credentials" type="application/manifest+json">
3032
<link rel="mask-icon" href="{{root}}/skin/favicon/safari-pinned-tab.svg?KIWIXCACHEID" color="#5bbad5">
3133
<link rel="shortcut icon" href="{{root}}/skin/favicon/favicon.ico?KIWIXCACHEID">
3234
<meta name="msapplication-TileColor" content="#da532c">
35+
<meta name="msapplication-TileImage" content="{{root}}/skin/favicon/mstile-144x144.png?KIWIXCACHEID">
3336
<meta name="msapplication-config" content="{{root}}/skin/favicon/browserconfig.xml?KIWIXCACHEID">
3437
<meta name="theme-color" content="#ffffff">
3538
<script type="text/javascript" src="./skin/polyfills.js?KIWIXCACHEID"></script>

static/templates/no_js_library_page.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,13 @@
1818
<link rel="apple-touch-icon" sizes="180x180" href="{{root}}/skin/favicon/apple-touch-icon.png?KIWIXCACHEID">
1919
<link rel="icon" type="image/png" sizes="32x32" href="{{root}}/skin/favicon/favicon-32x32.png?KIWIXCACHEID">
2020
<link rel="icon" type="image/png" sizes="16x16" href="{{root}}/skin/favicon/favicon-16x16.png?KIWIXCACHEID">
21-
<link rel="manifest" href="{{root}}/skin/favicon/site.webmanifest?KIWIXCACHEID">
21+
<link rel="icon" type="image/png" sizes="192x192" href="{{root}}/skin/favicon/android-chrome-192x192.png?KIWIXCACHEID">
22+
<link rel="icon" type="image/png" sizes="512x512" href="{{root}}/skin/favicon/android-chrome-512x512.png?KIWIXCACHEID">
23+
<link rel="manifest" href="{{root}}/skin/favicon/site.webmanifest?KIWIXCACHEID" crossorigin="use-credentials" type="application/manifest+json">
2224
<link rel="mask-icon" href="{{root}}/skin/favicon/safari-pinned-tab.svg?KIWIXCACHEID" color="#5bbad5">
2325
<link rel="shortcut icon" href="{{root}}/skin/favicon/favicon.ico?KIWIXCACHEID">
2426
<meta name="msapplication-TileColor" content="#da532c">
27+
<meta name="msapplication-TileImage" content="{{root}}/skin/favicon/mstile-144x144.png?KIWIXCACHEID">
2528
<meta name="msapplication-config" content="{{root}}/skin/favicon/browserconfig.xml?KIWIXCACHEID">
2629
<meta name="theme-color" content="#ffffff">
2730
<style>

test/library_server.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1200,10 +1200,13 @@ TEST_F(LibraryServerTest, no_name_mapper_catalog_v2_individual_entry_access)
12001200
" <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/ROOT%23%3F/skin/favicon/apple-touch-icon.png?cacheid=f86f8df3\">\n" \
12011201
" <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/ROOT%23%3F/skin/favicon/favicon-32x32.png?cacheid=79ded625\">\n" \
12021202
" <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/ROOT%23%3F/skin/favicon/favicon-16x16.png?cacheid=a986fedc\">\n" \
1203-
" <link rel=\"manifest\" href=\"/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=bc396efb\">\n" \
1203+
" <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/ROOT%23%3F/skin/favicon/android-chrome-192x192.png?cacheid=bfac158b\">\n" \
1204+
" <link rel=\"icon\" type=\"image/png\" sizes=\"512x512\" href=\"/ROOT%23%3F/skin/favicon/android-chrome-512x512.png?cacheid=380c3653\">\n" \
1205+
" <link rel=\"manifest\" href=\"/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=4192804f\" crossorigin=\"use-credentials\" type=\"application/manifest+json\">\n" \
12041206
" <link rel=\"mask-icon\" href=\"/ROOT%23%3F/skin/favicon/safari-pinned-tab.svg?cacheid=8d487e95\" color=\"#5bbad5\">\n" \
12051207
" <link rel=\"shortcut icon\" href=\"/ROOT%23%3F/skin/favicon/favicon.ico?cacheid=92663314\">\n" \
12061208
" <meta name=\"msapplication-TileColor\" content=\"#da532c\">\n" \
1209+
" <meta name=\"msapplication-TileImage\" content=\"/ROOT%23%3F/skin/favicon/mstile-144x144.png?cacheid=c25a7641\">\n" \
12071210
" <meta name=\"msapplication-config\" content=\"/ROOT%23%3F/skin/favicon/browserconfig.xml?cacheid=f29a7c4a\">\n" \
12081211
" <meta name=\"theme-color\" content=\"#ffffff\">\n" \
12091212
" <style>\n" \

test/server.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ const ResourceCollection resources200Compressible{
8888
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/languages.js" },
8989
{ STATIC_CONTENT, "/ROOT%23%3F/skin/languages.js?cacheid=a83f0e13" },
9090

91+
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/favicon/site.webmanifest" },
92+
{ STATIC_CONTENT, "/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=4192804f" },
93+
9194
{ DYNAMIC_CONTENT, "/ROOT%23%3F/catalog/search" },
9295

9396
{ DYNAMIC_CONTENT, "/ROOT%23%3F/catalog/v2/root.xml" },
@@ -152,8 +155,6 @@ const ResourceCollection resources200Uncompressible{
152155
{ STATIC_CONTENT, "/ROOT%23%3F/skin/favicon/mstile-70x70.png?cacheid=64ffd9dc" },
153156
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/favicon/safari-pinned-tab.svg" },
154157
{ STATIC_CONTENT, "/ROOT%23%3F/skin/favicon/safari-pinned-tab.svg?cacheid=8d487e95" },
155-
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/favicon/site.webmanifest" },
156-
{ STATIC_CONTENT, "/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=bc396efb" },
157158
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/hash.png" },
158159
{ STATIC_CONTENT, "/ROOT%23%3F/skin/hash.png?cacheid=f836e872" },
159160
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/magnet.png" },
@@ -293,9 +294,12 @@ R"EXPECTEDRESULT( href="/ROOT%23%3F/skin/kiwix.css?cacheid=3948b846"
293294
<link rel="apple-touch-icon" sizes="180x180" href="/ROOT%23%3F/skin/favicon/apple-touch-icon.png?cacheid=f86f8df3">
294295
<link rel="icon" type="image/png" sizes="32x32" href="/ROOT%23%3F/skin/favicon/favicon-32x32.png?cacheid=79ded625">
295296
<link rel="icon" type="image/png" sizes="16x16" href="/ROOT%23%3F/skin/favicon/favicon-16x16.png?cacheid=a986fedc">
296-
<link rel="manifest" href="/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=bc396efb">
297+
<link rel="icon" type="image/png" sizes="192x192" href="/ROOT%23%3F/skin/favicon/android-chrome-192x192.png?cacheid=bfac158b">
298+
<link rel="icon" type="image/png" sizes="512x512" href="/ROOT%23%3F/skin/favicon/android-chrome-512x512.png?cacheid=380c3653">
299+
<link rel="manifest" href="/ROOT%23%3F/skin/favicon/site.webmanifest?cacheid=4192804f" crossorigin="use-credentials" type="application/manifest+json">
297300
<link rel="mask-icon" href="/ROOT%23%3F/skin/favicon/safari-pinned-tab.svg?cacheid=8d487e95" color="#5bbad5">
298301
<link rel="shortcut icon" href="/ROOT%23%3F/skin/favicon/favicon.ico?cacheid=92663314">
302+
<meta name="msapplication-TileImage" content="/ROOT%23%3F/skin/favicon/mstile-144x144.png?cacheid=c25a7641">
299303
<meta name="msapplication-config" content="/ROOT%23%3F/skin/favicon/browserconfig.xml?cacheid=f29a7c4a">
300304
<script type="text/javascript" src="./skin/polyfills.js?cacheid=a0e0343d"></script>
301305
<script type="module" src="/ROOT%23%3F/skin/i18n.js?cacheid=e9a10ac1" defer></script>

0 commit comments

Comments
 (0)