Currently, the favicon is served as inline data with every page. This
commit makes it an external resource instead, so it can benefit from
caching. In addition, an SVG version is added, which is not supported by
all browsers [1], but is roughly one tenth of the size. It is the one
displayed in the header on every page, only in white.
[1]: https://caniuse.com/link-icon-svg
---
Full disclosure: the SVG version is lacking some padding compared to the
PNG version, see [2] (SVG on the left, PNG on the right). I figured it
doesn't matter, but wanted to point it out.
[2]: https://bitfehler.net/icons.png
srht/static/logo.png | Bin 0 -> 2370 bytes
srht/static/logo.svg | 1 +
srht/templates/layout.html | 3 ++-
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 srht/static/logo.png
create mode 100644 srht/static/logo.svg
diff --git a/srht/static/logo.png b/srht/static/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..532730ff757fe93468e073bc0968182750c7536e
GIT binary patch
literal 2370
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
literal 0
HcmV?d00001
diff --git a/srht/static/logo.svg b/srht/static/logo.svg
new file mode 100644
index 0000000..e9d9d8c
--- /dev/null
+++ b/srht/static/logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#fff" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"/></svg>
diff --git a/srht/templates/layout.html b/srht/templates/layout.html
index e580d95..0c652d0 100644
--- a/srht/templates/layout.html
+++ b/srht/templates/layout.html
@@ -7,7 +7,8 @@
<title>{{domain}}</title>
{% endblock %}
{% block favicon %}
- <link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QIGCC8n92KyhQAAAj1QTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////anIwUQAAAL50Uk5TAAECAwQFBgcICQoLDA4PEBESExQVFhcYGRobHB0eHyAhIyQmJygpKistLzAzNDU2Nzg5Ozw9QEFDREZHSElLTE1OT1BRVFdYWVpbXF1eX2BhZGZnaGltbnBxdHV3eHp7fn+AgYKDhIWGh4iJio2TlJucnqGio6Smp6ipqqusrbCxsrO0tre4ury9vr/Cw8TFxsfIycrMzc7P0dLT1dbY2dvf4OLj5OXm5+jq6+zt7u/w8fL09fb3+Pn6+/z9/gNzyOkAAAABYktHRL6k3IPDAAAFwUlEQVQYGe3B+VtUVQAG4G9i0TQZZyA1S0JxydzDNFTUqXBfcylzS8UE21TMyjAQUQnFEi0BHQU3cAc0UGbm+9v65Zw7y70zc++dc3qenof3xZAhQ4b8T+V/uGn/kdrm1psdHTdbm2uP7Ns434//yLD5e+u7aOH+6T0ludBszGf1L5jC87rNBdDm9XXnw0wrfG71cOhQ9N0z2vTk20Ko9t5PYToQOj4FKr17IkKHwtUToMobVQN0of/rkVDik7t06c5yZC7/V1rqajq6f9vKQFlZYNW2A0cvdNPSL35kaPEDmgxerFiSjwQFZQebQzTpKkUmsg4xUX/Nijwk4V15aoAJIhVZcM13ngnatuQhJe/WNiY464VLE28xXsMCD9LyLDzLeMEiuDLzIeM0zIRNs88xTvcMuFDSx1htC+FA6XXG6pkLx0qeM8aLHdlwJGfnP4zRNw8OzexjjOaJcGzSn4zR8z4cmfiQUZF9WXAhuyLCqO4iOOC7xahni+BSWQ+jgl7YlnWeUR3FcG1qJ6MasmDXIUZdexMZGNvGqAOwaTGjrnqREd/fNERKYUvBAxqueZEhXzsNXX7Y8SsNHW8iY+M6afgZNnxKw7NiKDCtl4YA0nrjHqXIIiixjIY7I5FOFQ37oEglDZVIo+glpeYsKJJ9mdJAIVI7QenFRChT3E+pGim9F6G0AwrtohSeglR+otSWDYVygpSqkUJRmNJCKLWEUmgCkvuOUgPU8vxO6TCSev0ZpZlQ7ANKj4YhmXWUGqBcI6UVSOY8pQVQbhGlM0hiTJhCmwfKeW5QCPlh7TNKW6DBdkobYa2eQn8eNPC9pPAbLA17QaEGWtRS6MuBlfmUVkCLtZTmwspeCoN50MIXprATVuopXIQmLRROwUoXhQpoUkXhNizkU1oCTZZRyoPZh5Tyock4SnNgtolCF3TxPKKwBmb7KTRBm0sUdsPsCIWj0OY4hR9gVkthP7SppHASZs0UtkGbLyg0wqyVwkpos4FCC8xuUghAm3IK7TDroFAGbQIUgjDroFAGbQIUgjC7SSEAbcoptMOslcIqaLOBQgvMmilsgzY7KDTCrJbCAWhTReEkzI5QOAptfqTwPcz2UbgAbS5R2AWzjRS6oYvnMYXVMJtPqQCavEVpNsz8lMqgyXJKo2DhPoWD0OQwhU5YOU2hGZpcoVADK3sohLzQwh+h8CWslFBaCS3WUZoDK7nPKZyCFnUUerNh6TSFAS808L+iUANrmylthQafU1oPawVhCm0eKOcJUhgcjSTOUVoI5RZTqkMyqymdhXJNlMqRzPAnlGZDsRJKD3OR1LeUzkEtTxOlSiRXGKL0EZRaSmlwPFI4Tul6DhTKvUXpGFKZEqa0EwrtoRQqRkrVlP6ZBGUmD1A6htQm9FP6IxuK5Fyl1P8O0viahgoo8g0NB5HOyDuUImVQ4mMabo9AWgEaeqZCgel9NCyFDb/Q0DkWGXv7Lg0nYIe/i4Y2HzKUf4OGe6NhS2mEhr98yEh+Kw3hBbCpglHt45CB8TcY9RXsyjrLqM5pcG36XUadfg22eYOM6l0Glz7uY9T1UXCg6AFjHMqGCznfMMb9Qjgyo4cxLhfDsclXGePpdDg0r48x+nflwJHcPQOM0TsLjs3rYazgEtjnWXqLsZ7Oggszuhnn9w9gU0kT49yfDleKgozXuMiDtDyLmxjveiFc8jYwwY3tPqTk/zzIBPWj4FpWRYQJXtau9SEJ/7q6V0wQ/uo1ZKK0iybhlqplYxHP89byw1ciNLm3ABny/0xLjy4dr/xiQ3kgUL5hR9WPlx7T0onRyFzgDl26vRRKjKwcoAv9B0dAlcLqMB0KH3sHKk2pDtGBwWPFUG3C4Ue06WHleOgwbMWZENMarCvPhTb+jb/1MYXemvWjoVnO3J2nbtNCZ82Xc7LxH8mbs2b3DycbW9qDwfaWxpPf71o9exSGDBky5P/pX9F6dsCMuJp+AAAAAElFTkSuQmCC" />
+ <link rel="icon" type="image/svg+xml" href="/static/logo.svg" />
+ <link rel="icon" type="image/png" href="/static/logo.png" />
{% endblock favicon %}
{% if app.debug %}
<link rel="stylesheet" href="/static/main.css">
--
2.38.1