brand: gradient echo-tile logo + matching favicon, unified across nav/footer/tab

This commit is contained in:
Jean Chevronnet 2026-08-31 03:15:45 +00:00
parent 22228d6333
commit b8702762df
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
3 changed files with 22 additions and 11 deletions

View file

@ -27,6 +27,7 @@ fn asset_ver() -> &'static str {
for b in include_str!("../static/style.css") for b in include_str!("../static/style.css")
.bytes() .bytes()
.chain(include_str!("../static/docs.css").bytes()) .chain(include_str!("../static/docs.css").bytes())
.chain(include_str!("../static/favicon.svg").bytes())
{ {
h ^= b as u64; h ^= b as u64;
h = h.wrapping_mul(0x100000001b3); h = h.wrapping_mul(0x100000001b3);

View file

@ -1,6 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<rect width="32" height="32" rx="7" fill="#12a594"/> <defs>
<circle cx="10" cy="16" r="2.8" fill="#fff"/> <linearGradient id="e" x1="0" y1="0" x2="0" y2="1">
<path d="M15.5 10a8 8 0 0 1 0 12" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/> <stop offset="0" stop-color="#2dd4bf"/>
<path d="M19.5 6.5a13 13 0 0 1 0 19" fill="none" stroke="#eafffb" stroke-width="2.2" stroke-linecap="round"/> <stop offset="1" stop-color="#0f9c8b"/>
</linearGradient>
</defs>
<rect x="1" y="1" width="30" height="30" rx="8" fill="url(#e)"/>
<circle cx="11.4" cy="16" r="2.7" fill="#fff"/>
<path d="M16.3 10.5a7.3 7.3 0 0 1 0 11" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round"/>
<path d="M20.6 6.9a11.7 11.7 0 0 1 0 18.2" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" opacity=".7"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 614 B

Before After
Before After

View file

@ -10,7 +10,7 @@
<meta property="og:title" content="echoIRCd"> <meta property="og:title" content="echoIRCd">
<meta property="og:description" content="A from-scratch IRC server, written in Rust."> <meta property="og:description" content="A from-scratch IRC server, written in Rust.">
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<link rel="icon" href="/favicon.svg" type="image/svg+xml"> <link rel="icon" href="/favicon.svg?v={{ css_v }}" type="image/svg+xml">
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
@ -22,9 +22,11 @@
<div class="bar-in"> <div class="bar-in">
<a class="brand" href="/"> <a class="brand" href="/">
<svg class="mark" viewBox="0 0 32 32" aria-hidden="true"> <svg class="mark" viewBox="0 0 32 32" aria-hidden="true">
<circle cx="8" cy="16" r="3.1" fill="currentColor"/> <rect x="1.5" y="1.5" width="29" height="29" rx="8" fill="url(#em)"/>
<path d="M14 9.5a9 9 0 0 1 0 13" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round"/> <circle cx="11.4" cy="16" r="2.4" fill="#fff"/>
<path d="M18.5 5.5a15 15 0 0 1 0 21" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round"/> <path d="M16.3 10.9a6.9 6.9 0 0 1 0 10.2" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/>
<path d="M20.4 7.5a11.3 11.3 0 0 1 0 17" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round" opacity=".68"/>
<defs><linearGradient id="em" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#2dd4bf"/><stop offset="1" stop-color="#0f9c8b"/></linearGradient></defs>
</svg> </svg>
<span class="brand-name">echoIRCd</span> <span class="brand-name">echoIRCd</span>
</a> </a>
@ -52,9 +54,11 @@
<div class="foot-about"> <div class="foot-about">
<a class="foot-logo" href="/"> <a class="foot-logo" href="/">
<svg class="mark" viewBox="0 0 32 32" aria-hidden="true"> <svg class="mark" viewBox="0 0 32 32" aria-hidden="true">
<circle cx="8" cy="16" r="3.1" fill="currentColor"/> <rect x="1.5" y="1.5" width="29" height="29" rx="8" fill="url(#em)"/>
<path d="M14 9.5a9 9 0 0 1 0 13" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round"/> <circle cx="11.4" cy="16" r="2.4" fill="#fff"/>
<path d="M18.5 5.5a15 15 0 0 1 0 21" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round"/> <path d="M16.3 10.9a6.9 6.9 0 0 1 0 10.2" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/>
<path d="M20.4 7.5a11.3 11.3 0 0 1 0 17" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round" opacity=".68"/>
<defs><linearGradient id="em" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#2dd4bf"/><stop offset="1" stop-color="#0f9c8b"/></linearGradient></defs>
</svg> </svg>
<span>echoIRCd</span> <span>echoIRCd</span>
</a> </a>