aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-09-22 12:50:37 -0400
committerJoe Mou <dev@mou.fo>2026-09-22 13:24:31 -0400
commit3204ecf1c48e730f02fb83d7c09d2c778a6f6bdd (patch)
treeb85411e3212aa26883edcc9737cc6ce9d32fadf9
parent16b4bc953f9822121b3257fc5f19df9dcfbdba27 (diff)
Add favicon
-rw-r--r--Makefile3
-rw-r--r--public/favicon.icobin0 -> 678 bytes
-rw-r--r--public/icon.svg10
-rw-r--r--views/layouts/base.eta2
4 files changed, 15 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..72fbe65
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,3 @@
+# librsvg renders the 256-unit viewBox at 96dpi, so 32px wants a density of 12.
+public/favicon.ico: public/icon.svg
+ magick -background none -density 12 $< -resize 32x32 PNG32:$@
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..2bbb226
--- /dev/null
+++ b/public/favicon.ico
Binary files differ
diff --git a/public/icon.svg b/public/icon.svg
new file mode 100644
index 0000000..d2635c5
--- /dev/null
+++ b/public/icon.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="#0f74c5">
+ <rect width="256" height="256" fill="#eaeff5"/>
+ <g fill="none" stroke="#0f74c5" stroke-width="36" stroke-linecap="round">
+ <path d="M80 58V198"/>
+ <path d="M176 58V112Q176 148 132 148H80"/>
+ </g>
+ <circle cx="80" cy="58" r="30"/>
+ <circle cx="176" cy="58" r="30"/>
+ <circle cx="80" cy="198" r="30"/>
+</svg>
diff --git a/views/layouts/base.eta b/views/layouts/base.eta
index fb644f5..e65eb32 100644
--- a/views/layouts/base.eta
+++ b/views/layouts/base.eta
@@ -4,6 +4,8 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><%= it.title %></title>
+ <link rel="icon" href="/favicon.ico" sizes="32x32">
+ <link rel="icon" href="/icon.svg" sizes="any">
<link rel="stylesheet" href="/static/style.css">
<% for (const src of it.scripts ?? []) { %>
<script src="<%= src %>" defer></script>