stream: add a synthwave favicon
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
032a9b86b8
commit
534ade0ba5
4 changed files with 63 additions and 0 deletions
|
|
@ -2,5 +2,6 @@ FROM savonet/liquidsoap:v2.4.5
|
|||
|
||||
COPY radio.liq /etc/liquidsoap/radio.liq
|
||||
COPY index.html /etc/liquidsoap/index.html
|
||||
COPY favicon.svg /etc/liquidsoap/favicon.svg
|
||||
|
||||
CMD ["/etc/liquidsoap/radio.liq"]
|
||||
|
|
|
|||
52
stream/favicon.svg
Normal file
52
stream/favicon.svg
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
|
||||
<defs>
|
||||
<!-- Ciel synthwave : violet profond vers magenta -->
|
||||
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#1a1030"/>
|
||||
<stop offset="1" stop-color="#3a1145"/>
|
||||
</linearGradient>
|
||||
<!-- Soleil dégradé jaune / rose néon -->
|
||||
<linearGradient id="sun" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#ffe15a"/>
|
||||
<stop offset="0.5" stop-color="#ff5c8a"/>
|
||||
<stop offset="1" stop-color="#9b4dff"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="grid" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#9b8cff" stop-opacity="0"/>
|
||||
<stop offset="1" stop-color="#ff4fd8" stop-opacity="0.9"/>
|
||||
</linearGradient>
|
||||
<!-- Masque : bandes horizontales qui tranchent le soleil -->
|
||||
<clipPath id="round"><rect x="0" y="0" width="64" height="64" rx="12"/></clipPath>
|
||||
</defs>
|
||||
|
||||
<g clip-path="url(#round)">
|
||||
<rect width="64" height="64" fill="url(#sky)"/>
|
||||
|
||||
<!-- Soleil avec les stries synthwave classiques -->
|
||||
<g>
|
||||
<circle cx="32" cy="27" r="16" fill="url(#sun)"/>
|
||||
<g fill="#1a1030">
|
||||
<rect x="14" y="30" width="36" height="1.6"/>
|
||||
<rect x="14" y="33.5" width="36" height="2.2"/>
|
||||
<rect x="14" y="37.5" width="36" height="3"/>
|
||||
<rect x="14" y="42" width="36" height="4"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<!-- Horizon néon -->
|
||||
<rect x="0" y="45" width="64" height="1.4" fill="#ff4fd8"/>
|
||||
|
||||
<!-- Grille en perspective -->
|
||||
<g stroke="url(#grid)" stroke-width="1">
|
||||
<line x1="32" y1="46" x2="-8" y2="66"/>
|
||||
<line x1="32" y1="46" x2="8" y2="66"/>
|
||||
<line x1="32" y1="46" x2="24" y2="66"/>
|
||||
<line x1="32" y1="46" x2="40" y2="66"/>
|
||||
<line x1="32" y1="46" x2="56" y2="66"/>
|
||||
<line x1="32" y1="46" x2="72" y2="66"/>
|
||||
<line x1="0" y1="50" x2="64" y2="50"/>
|
||||
<line x1="0" y1="55" x2="64" y2="55"/>
|
||||
<line x1="0" y1="61" x2="64" y2="61"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title id="pageTitle"></title>
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<style>
|
||||
:root { color-scheme: dark; }
|
||||
* { box-sizing: border-box; }
|
||||
|
|
|
|||
|
|
@ -206,6 +206,7 @@ output.harbor(
|
|||
|
||||
# --- Page web et API de lecture (mêmes port/harbor que le flux) ---
|
||||
home_html = file.contents("/etc/liquidsoap/index.html")
|
||||
favicon_svg = file.contents("/etc/liquidsoap/favicon.svg")
|
||||
|
||||
harbor.http.register(
|
||||
port=8000, method="GET", "/",
|
||||
|
|
@ -215,6 +216,14 @@ harbor.http.register(
|
|||
end
|
||||
)
|
||||
|
||||
harbor.http.register(
|
||||
port=8000, method="GET", "/favicon.svg",
|
||||
fun(_, resp) -> begin
|
||||
resp.content_type("image/svg+xml; charset=utf-8")
|
||||
resp.data(favicon_svg)
|
||||
end
|
||||
)
|
||||
|
||||
harbor.http.register(
|
||||
port=8000, method="GET", "/nowplaying",
|
||||
fun(_, resp) -> begin
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue