Skip to content

Commit 8c83611

Browse files
committed
ID-458 Crestacular favicons part 2
1 parent d5d8772 commit 8c83611

23 files changed

Lines changed: 101 additions & 17 deletions

docs/_includes/header-borderless.html

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,34 @@
1111
<link rel="apple-touch-icon" sizes="144x144" href="/dist/images/apple-touch-icon-144x144.png">
1212
<link rel="apple-touch-icon" sizes="152x152" href="/dist/images/apple-touch-icon-152x152.png">
1313
<link rel="apple-touch-icon" sizes="180x180" href="/dist/images/apple-touch-icon-180x180.png">
14-
<link rel="icon" type="image/png" href="/dist/images/android-chrome-192x192.png" sizes="192x192">
1514

16-
<!-- Default/light mode favicons -->
15+
<!-- Default favicons -->
1716
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon.ico">
1817
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" sizes="32x32">
1918
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" sizes="96x96">
2019
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" sizes="16x16">
20+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" sizes="192x192">
21+
22+
<!-- Light mode favicons -->
23+
<link rel="shortcut icon" type="image/x-icon" media="(prefers-color-scheme: light)" href="/dist/images/favicon.ico">
24+
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" media="(prefers-color-scheme: light)" sizes="32x32">
25+
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" media="(prefers-color-scheme: light)" sizes="96x96">
26+
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" media="(prefers-color-scheme: light)" sizes="16x16">
27+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" media="(prefers-color-scheme: light)" sizes="192x192">
2128

2229
<!-- Dark mode favicon -->
2330
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon-dark-mode.ico" media="(prefers-color-scheme: dark)">
24-
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="16x16">
25-
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="32x32">
26-
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="96x96">
31+
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="16x16">
32+
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="32x32">
33+
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="96x96">
34+
<link rel="icon" href="/dist/images/favicon-dark-mode-192x192.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="192x192">
2735

2836
<meta name="msapplication-TileColor" content="#204f79">
2937
<meta name="msapplication-TileImage" content="/dist/images/mstile-144x144.png">
3038
<meta name="theme-color" content="#204f79">
3139

40+
<link rel="manifest" href="/dist/docs/pwa/manifest.json">
41+
3242
<title>
3343
{% if page.layout == "home" %}
3444
{{ page.title }}

docs/_includes/header-wide.html

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,29 @@
1111
<link rel="apple-touch-icon" sizes="144x144" href="/dist/images/apple-touch-icon-144x144.png">
1212
<link rel="apple-touch-icon" sizes="152x152" href="/dist/images/apple-touch-icon-152x152.png">
1313
<link rel="apple-touch-icon" sizes="180x180" href="/dist/images/apple-touch-icon-180x180.png">
14-
<link rel="icon" type="image/png" href="/dist/images/android-chrome-192x192.png" sizes="192x192">
1514

16-
<!-- Default/light mode favicons -->
15+
<!-- Default favicons -->
1716
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon.ico">
1817
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" sizes="32x32">
1918
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" sizes="96x96">
2019
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" sizes="16x16">
20+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" sizes="192x192">
21+
22+
<!-- Light mode favicons -->
23+
<link rel="shortcut icon" type="image/x-icon" media="(prefers-color-scheme: light)" href="/dist/images/favicon.ico">
24+
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" media="(prefers-color-scheme: light)" sizes="32x32">
25+
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" media="(prefers-color-scheme: light)" sizes="96x96">
26+
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" media="(prefers-color-scheme: light)" sizes="16x16">
27+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" media="(prefers-color-scheme: light)" sizes="192x192">
2128

2229
<!-- Dark mode favicon -->
2330
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon-dark-mode.ico" media="(prefers-color-scheme: dark)">
24-
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="16x16">
25-
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="32x32">
26-
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="96x96">
31+
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="16x16">
32+
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="32x32">
33+
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="96x96">
34+
<link rel="icon" href="/dist/images/favicon-dark-mode-192x192.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="192x192">
35+
36+
<link rel="manifest" href="/dist/docs/pwa/manifest.json">
2737

2838
<meta name="msapplication-TileColor" content="#204f79">
2939
<meta name="msapplication-TileImage" content="/dist/images/mstile-144x144.png">

docs/_includes/header.html

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,34 @@
1111
<link rel="apple-touch-icon" sizes="144x144" href="/dist/images/apple-touch-icon-144x144.png">
1212
<link rel="apple-touch-icon" sizes="152x152" href="/dist/images/apple-touch-icon-152x152.png">
1313
<link rel="apple-touch-icon" sizes="180x180" href="/dist/images/apple-touch-icon-180x180.png">
14-
<link rel="icon" type="image/png" href="/dist/images/android-chrome-192x192.png" sizes="192x192">
1514

16-
<!-- Default/light mode favicons -->
15+
<!-- Default favicons -->
1716
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon.ico">
1817
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" sizes="32x32">
1918
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" sizes="96x96">
2019
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" sizes="16x16">
20+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" sizes="192x192">
21+
22+
<!-- Light mode favicons -->
23+
<link rel="shortcut icon" type="image/x-icon" media="(prefers-color-scheme: light)" href="/dist/images/favicon.ico">
24+
<link rel="icon" type="image/png" href="/dist/images/favicon-32x32.png" media="(prefers-color-scheme: light)" sizes="32x32">
25+
<link rel="icon" type="image/png" href="/dist/images/favicon-96x96.png" media="(prefers-color-scheme: light)" sizes="96x96">
26+
<link rel="icon" type="image/png" href="/dist/images/favicon-16x16.png" media="(prefers-color-scheme: light)" sizes="16x16">
27+
<link rel="icon" type="image/png" href="/dist/images/favicon-192x192.png" media="(prefers-color-scheme: light)" sizes="192x192">
2128

2229
<!-- Dark mode favicon -->
2330
<link rel="shortcut icon" type="image/x-icon" href="/dist/images/favicon-dark-mode.ico" media="(prefers-color-scheme: dark)">
24-
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="16x16">
25-
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="32x32">
26-
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/x-icon" media="(prefers-color-scheme: dark)" sizes="96x96">
31+
<link rel="icon" href="/dist/images/favicon-dark-mode-16x16.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="16x16">
32+
<link rel="icon" href="/dist/images/favicon-dark-mode-32x32.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="32x32">
33+
<link rel="icon" href="/dist/images/favicon-dark-mode-96x96.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="96x96">
34+
<link rel="icon" href="/dist/images/favicon-dark-mode-192x192.png" type="image/png" media="(prefers-color-scheme: dark)" sizes="192x192">
2735

2836
<meta name="msapplication-TileColor" content="#204f79">
2937
<meta name="msapplication-TileImage" content="/dist/images/mstile-144x144.png">
3038
<meta name="theme-color" content="#204f79">
3139

40+
<link rel="manifest" href="/dist/docs/pwa/manifest.json">
41+
3242
<title>
3343
{% if page.layout == "home" %}
3444
{{ page.title }}

docs/assets/pwa/manifest.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"short_name": "ID7",
3+
"name": "ID7 - University of Warwick brand",
4+
"icons": [
5+
{
6+
"src": "/dist/images/pwa-icon-512x512.png",
7+
"type": "image/png",
8+
"sizes": "512x512",
9+
"purpose": "any maskable"
10+
},
11+
{
12+
"src": "/dist/images/pwa-icon-192x192.png",
13+
"type": "image/png",
14+
"sizes": "192x192",
15+
"purpose": "any maskable"
16+
}
17+
],
18+
"id": "/",
19+
"start_url": "/",
20+
"background_color": "#A499F4",
21+
"display": "standalone",
22+
"scope": "/",
23+
"theme_color": "#A499F4",
24+
"description": "Standalone app for University of Warwick's ID7 brand",
25+
"screenshots": [
26+
{
27+
"src": "/dist/images/screenshot-540x720.jpg",
28+
"type": "image/jpg",
29+
"sizes": "540x720",
30+
"form_factor": "narrow"
31+
},
32+
{
33+
"src": "/dist/images/screenshot-720x540.jpg",
34+
"type": "image/jpg",
35+
"sizes": "720x540",
36+
"form_factor": "wide"
37+
}
38+
]
39+
}

generate-icons.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ const SETTINGS = {
1515
darkColor: '#0c0c0c',
1616
androidChromeIconSizes: [36, 48, 72, 96, 144, 192],
1717
appleTouchIconSizes: [57, 60, 72, 76, 114, 120, 144, 152, 180],
18-
faviconSizes: [16, 32, 96],
18+
faviconSizes: [16, 32, 96, 192],
19+
pwaIconSizes: [72, 128, 144, 192, 512],
1920
}
2021

2122
const transparent = {r: 0, g: 0, b: 0, alpha: 0};
@@ -24,7 +25,7 @@ SETTINGS.androidChromeIconSizes.forEach(async (size) => {
2425
await generateIcon({
2526
size,
2627
padding: Math.floor(size / 20),
27-
inputFilename: SETTINGS.iconLightFilename,
28+
inputFilename: SETTINGS.iconDarkFilename,
2829
outputFilename: `android-chrome-${size}x${size}.png`,
2930
background: transparent,
3031
})
@@ -60,6 +61,16 @@ SETTINGS.faviconSizes.forEach(async (size) => {
6061
});
6162
});
6263

64+
SETTINGS.pwaIconSizes.forEach(async (size) => {
65+
await generateIcon({
66+
size,
67+
padding: Math.floor(size / 5.5), // 5.5 is a bit arbitrary, but works for the crest
68+
inputFilename: SETTINGS.iconDarkFilename,
69+
outputFilename: `pwa-icon-${size}x${size}.png`,
70+
background: transparent,
71+
});
72+
});
73+
6374
const faviconBuffer = await pngToIco(SETTINGS.faviconSizes.map((size) => path.join(__dirname, SETTINGS.outputDirectory, `favicon-${size}x${size}.png`)));
6475
await fs.writeFile(path.join(__dirname, SETTINGS.outputDirectory, 'favicon.ico'), faviconBuffer);
6576

images/android-chrome-144x144.png

-167 Bytes
Loading

images/android-chrome-192x192.png

-139 Bytes
Loading

images/android-chrome-36x36.png

-24 Bytes
Loading

images/android-chrome-48x48.png

-24 Bytes
Loading

images/android-chrome-72x72.png

-19 Bytes
Loading

0 commit comments

Comments
 (0)