feat(design): Phase 6 — favicon and PWA icon assets (#201)
Generate favicon, Apple touch, Android Chrome, manifest, and Safari pinned-tab assets from the SquadScope robot-with-binoculars icon. Closes #175. Depends on #189. References #178. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Juan Manuel Servera committed
May 25, 2026 at 22:54 UTC
b34a35925bf23ee87800db4b26ebdf9e53905281
10 files changed
+51
-7
layouts/partials/head.html
+9
-7
@@ -91,13 +91,15 @@
91
{{- end -}}
92
93
{{- /* Favicons */}}
94
-<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
95
-<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
96
-<link rel="icon" type="image/png" sizes="32x32" href="{{ site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL }}">
97
-<link rel="apple-touch-icon" href="{{ site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL }}">
98
-<link rel="mask-icon" href="{{ site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL }}">
99
-<meta name="theme-color" content="{{ site.Params.assets.theme_color | default "#2e2e33" }}">
100
-<meta name="msapplication-TileColor" content="{{ site.Params.assets.msapplication_TileColor | default "#2e2e33" }}">
94
+<link rel="icon" href="/favicon.ico" sizes="any">
95
+<link rel="icon" type="image/svg+xml" href="/images/squadscope-icon.svg">
96
+<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
97
+<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
98
+<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
99
+<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0066CC">
100
+<link rel="manifest" href="/site.webmanifest">
101
+<meta name="theme-color" content="#0066CC">
102
+<meta name="msapplication-TileColor" content="#0066CC">
103
104
{{- /* RSS */}}
105
{{ range .AlternativeOutputFormats -}}
static/android-chrome-192x192.png
Binary files /dev/null and b/static/android-chrome-192x192.png differ
static/android-chrome-512x512.png
Binary files /dev/null and b/static/android-chrome-512x512.png differ
static/apple-touch-icon.png
Binary files /dev/null and b/static/apple-touch-icon.png differ
static/favicon-16x16.png
Binary files /dev/null and b/static/favicon-16x16.png differ
static/favicon-32x32.png
Binary files /dev/null and b/static/favicon-32x32.png differ
static/favicon.ico
Binary files /dev/null and b/static/favicon.ico differ
static/images/squadscope-icon.svg
new
+13
@@ -0,0 +1,13 @@
1
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2
+ <line x1="32" y1="4" x2="32" y2="14"/>
3
+ <circle cx="32" cy="4" r="3" fill="currentColor" stroke="none"/>
4
+ <rect x="10" y="14" width="44" height="36" rx="8" ry="8"/>
5
+ <circle cx="22" cy="30" r="9"/>
6
+ <circle cx="22" cy="30" r="4" fill="currentColor" stroke="none"/>
7
+ <circle cx="42" cy="30" r="9"/>
8
+ <circle cx="42" cy="30" r="4" fill="currentColor" stroke="none"/>
9
+ <line x1="31" y1="30" x2="33" y2="30" stroke-width="4"/>
10
+ <line x1="26" y1="42" x2="38" y2="42"/>
11
+ <line x1="28" y1="45" x2="36" y2="45"/>
12
+ <path d="M14 54 L14 58 Q14 62 18 62 L46 62 Q50 62 50 58 L50 54" stroke-width="2"/>
13
+</svg>
static/safari-pinned-tab.svg
new
+10
@@ -0,0 +1,10 @@
1
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <g fill="black">
3
+ <rect x="30.75" y="4" width="2.5" height="10" rx="1.25"/>
4
+ <circle cx="32" cy="4" r="3"/>
5
+ <path d="M18 14h28a8 8 0 0 1 8 8v20a8 8 0 0 1-8 8H18a8 8 0 0 1-8-8V22a8 8 0 0 1 8-8Zm4 7a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm20 0a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-10 7a2 2 0 0 0 0 4 2 2 0 0 0 0-4ZM26 40.75a1.25 1.25 0 1 0 0 2.5h12a1.25 1.25 0 1 0 0-2.5H26Zm2 3a1.25 1.25 0 1 0 0 2.5h8a1.25 1.25 0 1 0 0-2.5h-8Z" fill-rule="evenodd"/>
6
+ <circle cx="22" cy="30" r="4"/>
7
+ <circle cx="42" cy="30" r="4"/>
8
+ <path d="M14 54h2v4a2 2 0 0 0 2 2h28a2 2 0 0 0 2-2v-4h2v4a4 4 0 0 1-4 4H18a4 4 0 0 1-4-4v-4Z"/>
9
+ </g>
10
+</svg>
static/site.webmanifest
new
+19
@@ -0,0 +1,19 @@
1
+{
2
+ "name": "SquadScope",
3
+ "short_name": "SquadScope",
4
+ "icons": [
5
+ {
6
+ "src": "/android-chrome-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png"
9
+ },
10
+ {
11
+ "src": "/android-chrome-512x512.png",
12
+ "sizes": "512x512",
13
+ "type": "image/png"
14
+ }
15
+ ],
16
+ "theme_color": "#0066CC",
17
+ "background_color": "#FAFAFA",
18
+ "display": "standalone"
19
+}