feat(web): publish dedicated brand icon for GitHub Pages showcase

This commit is contained in:
benzj 2026-09-12 21:36:45 +02:00
parent f0a241fae0
commit 2f15716d16
2 changed files with 86 additions and 0 deletions

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

86
icon.svg Normal file
View File

@ -0,0 +1,86 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
<defs>
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#080e1a"/>
<stop offset="100%" stop-color="#121b2c"/>
</linearGradient>
<linearGradient id="cyanGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#38bdf8"/>
<stop offset="100%" stop-color="#0284c7"/>
</linearGradient>
<linearGradient id="rackGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#1e293b"/>
<stop offset="100%" stop-color="#0f172a"/>
</linearGradient>
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="10" result="blur"/>
<feComposite in="SourceGraphic" in2="blur" operator="over"/>
</filter>
<filter id="softGlow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="6" result="blur"/>
<feComposite in="SourceGraphic" in2="blur" operator="over"/>
</filter>
</defs>
<!-- Background rounded squircle -->
<rect x="24" y="24" width="464" height="464" rx="108" fill="url(#bgGrad)" stroke="#1e293b" stroke-width="8"/>
<!-- Mesh VPN constellation lines & nodes -->
<g opacity="0.35" stroke="#38bdf8" stroke-width="2" stroke-dasharray="6,6">
<line x1="80" y1="120" x2="150" y2="150"/>
<line x1="432" y1="120" x2="362" y2="150"/>
<line x1="70" y1="360" x2="110" y2="310"/>
<line x1="442" y1="360" x2="402" y2="310"/>
<line x1="80" y1="120" x2="70" y2="360"/>
<line x1="432" y1="120" x2="442" y2="360"/>
</g>
<circle cx="80" cy="120" r="7" fill="#0284c7" stroke="#38bdf8" stroke-width="3"/>
<circle cx="432" cy="120" r="7" fill="#0284c7" stroke="#38bdf8" stroke-width="3"/>
<circle cx="70" cy="360" r="7" fill="#0284c7" stroke="#38bdf8" stroke-width="3"/>
<circle cx="442" cy="360" r="7" fill="#0284c7" stroke="#38bdf8" stroke-width="3"/>
<!-- Cloud Arch (Glowing Top) -->
<path d="M 160 190 C 135 190 115 168 120 142 C 126 112 154 96 182 104 C 198 74 236 60 270 74 C 304 54 350 68 362 104 C 392 104 416 128 410 158 C 404 186 382 190 355 190 Z"
fill="#0f1f38" stroke="url(#cyanGrad)" stroke-width="12" stroke-linejoin="round" filter="url(#glow)"/>
<!-- Server Rack Stack (3 Units) -->
<!-- Rack 1 -->
<rect x="106" y="212" width="300" height="48" rx="10" fill="url(#rackGrad)" stroke="#38bdf8" stroke-width="4"/>
<rect x="122" y="224" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="166" y="224" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="210" y="224" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="254" y="224" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<circle cx="340" cy="236" r="6" fill="#22c55e" filter="url(#softGlow)"/>
<circle cx="362" cy="236" r="6" fill="#38bdf8" filter="url(#softGlow)"/>
<circle cx="384" cy="236" r="6" fill="#38bdf8"/>
<!-- Rack 2 -->
<rect x="106" y="272" width="300" height="48" rx="10" fill="url(#rackGrad)" stroke="#0284c7" stroke-width="4"/>
<rect x="122" y="284" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="166" y="284" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="210" y="284" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="254" y="284" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<circle cx="340" cy="296" r="6" fill="#22c55e" filter="url(#softGlow)"/>
<circle cx="362" cy="296" r="6" fill="#f59e0b" filter="url(#softGlow)"/>
<circle cx="384" cy="296" r="6" fill="#38bdf8"/>
<!-- Rack 3 -->
<rect x="106" y="332" width="300" height="48" rx="10" fill="url(#rackGrad)" stroke="#0369a1" stroke-width="4"/>
<rect x="122" y="344" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="166" y="344" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="210" y="344" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<rect x="254" y="344" width="36" height="24" rx="4" fill="#09101d" stroke="#334155" stroke-width="2"/>
<circle cx="340" cy="356" r="6" fill="#22c55e" filter="url(#softGlow)"/>
<circle cx="362" cy="356" r="6" fill="#22c55e" filter="url(#softGlow)"/>
<circle cx="384" cy="356" r="6" fill="#38bdf8"/>
<!-- Cryptographic AES Vault Shield at Bottom Center -->
<g filter="url(#glow)">
<path d="M 256 320 L 296 345 L 296 395 C 296 422 278 444 256 454 C 234 444 216 422 216 395 L 216 345 Z"
fill="#0c192c" stroke="url(#cyanGrad)" stroke-width="8" stroke-linejoin="round"/>
<path d="M 246 384 L 246 372 C 246 366 250 362 256 362 C 262 362 266 366 266 372 L 266 384"
fill="none" stroke="#f0f6fc" stroke-width="5" stroke-linecap="round"/>
<rect x="240" y="384" width="32" height="24" rx="4" fill="#38bdf8"/>
<circle cx="256" cy="396" r="3.5" fill="#0c192c"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB