Drei Dateien lagen unversioniert im Wurzelverzeichnis herum. Alle drei gehoeren ins Repo, nur nicht dorthin: logo.png -> docs/brand/logo.png ChatGPT Image 23. Juni 2025 ... -> docs/brand/studie-kopf-2025-06.png design_handoff_redesign/ -> docs/redesign/ logo.png ist NICHT irgendein Logo, sondern das Original, von dem docs/brand/README.md die ganze Zeit spricht: "ein einziges Original, 2048x2048 mit Transparenz". Nachgerechnet statt geraten -- auf den Inhalt beschnitten ergibt es 1986x1963, exakt die Masse von lockup.png. Es lag also die Quelle der Marke unversioniert daneben. Dabei aufgefallen und in der README vermerkt, nicht repariert: build.py liest das Original ueber einen festen Pfad ausserhalb des Repos (QUELLE = A:/Users/DAR/logo.png). Jetzt sind das zwei Kopien, die auseinanderlaufen koennen. Umstellen kann nur, wer weiss, welche der beiden gepflegt wird. Das zweite Bild ist eine frueherere Kopf-Studie und nicht die Vorlage der heutigen Marke -- andere Zeichnung, flacher, ohne Fell und Schulter. Sie wird nirgends benutzt und liegt als Herkunft. Vom Entwurfs-Paket ist der assets/-Ordner entfallen: er enthielt Kopien von mark.png und lockup.png, die zwei Verzeichnisse weiter im Original liegen. Die .dc.html-Referenzen zeigen jetzt auf ../brand/ und stellen das Logo weiter dar, statt mit kaputten Bildern zurueckzubleiben. Der Kopf der README sagt ausserdem, dass der Entwurf umgesetzt ist und wo bewusst abgewichen wurde -- sonst liest sich das Dokument in einem Jahr wie eine offene Aufgabe. Dazu eine Zeile, die seit dem Redesign nicht mehr stimmte: build.py bezeichnet (10, 10, 10) als "--bg der Marke". Das ist seit gestern #131316. Wirkt erst, wenn jemand build.py laufen laesst -- die erzeugten Icons in frontend/public/ tragen bis dahin den alten Grund. Neu bauen konnte ich sie hier nicht, es gibt weder Python noch Pillow auf dieser Maschine. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
126 lines
13 KiB
HTML
126 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<script src="./support.js"></script>
|
|
</head>
|
|
<body>
|
|
<x-dc>
|
|
<helmet>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
<style>
|
|
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
|
|
html{color-scheme:dark}
|
|
body{background:#131316;color:#ececee;font-family:'Chakra Petch',sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden;min-height:100vh}
|
|
a{color:inherit;text-decoration:none}
|
|
a:hover{color:#ffb340}
|
|
button{font-family:inherit;cursor:pointer}
|
|
::selection{background:rgba(255,154,31,.35);color:#131316}
|
|
@keyframes pulseGlow{0%,100%{opacity:.5}50%{opacity:1}}
|
|
@keyframes riseIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
|
|
</style>
|
|
</helmet>
|
|
<div style="min-height:100vh;display:flex;flex-direction:column;position:relative">
|
|
<div style="position:fixed;inset:0;pointer-events:none;background:radial-gradient(900px 520px at 50% -12%,rgba(240,120,0,.16),transparent 60%)"></div>
|
|
<header style="position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:2rem;padding:.85rem 2.5rem;background:rgba(19,19,22,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)">
|
|
<a href="#" style="display:inline-flex;align-items:center;gap:.65rem;font-weight:700;font-size:1.12rem;letter-spacing:.06em;color:#ececee">
|
|
<img src="../brand/mark.png" alt="" style="width:34px;height:34px;object-fit:contain">
|
|
D4RKST<span style="color:#ff9a1f">3R</span></a>
|
|
<nav style="display:flex;gap:1.8rem;flex:1;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase">
|
|
<a href="#" style="color:#9a9aa3" style-hover="color:#ffb340">Devlog</a>
|
|
<a href="#" style="color:#9a9aa3" style-hover="color:#ffb340">Roadmap</a>
|
|
<a href="#" style="color:#9a9aa3" style-hover="color:#ffb340">Server</a>
|
|
<button style="display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa3" style-hover="color:#ffb340">Community
|
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg></button>
|
|
</nav>
|
|
<span style="font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.14em;color:#66666e">DE / EN</span>
|
|
<a href="#" style="display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#131316;background:linear-gradient(135deg,#ffb340,#f07800);padding:.55rem 1.3rem;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);font-weight:500">
|
|
<svg width="14" height="14" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M20.32 4.37a19.8 19.8 0 0 0-4.93-1.51 13.78 13.78 0 0 0-.64 1.28 18.27 18.27 0 0 0-5.5 0 12.64 12.64 0 0 0-.64-1.28c-1.71.29-3.37.8-4.93 1.51A20.26 20.26 0 0 0 .1 18.06a19.9 19.9 0 0 0 6.07 3.03c.49-.66.93-1.37 1.3-2.1a12.9 12.9 0 0 1-2.05-.98c.17-.12.34-.25.5-.38a14.2 14.2 0 0 0 12.16 0c.16.13.33.26.5.38-.65.39-1.34.71-2.05.98.37.73.81 1.44 1.3 2.1a19.84 19.84 0 0 0 6.07-3.03 20.2 20.2 0 0 0-3.58-13.69ZM8.02 15.33c-1.18 0-2.16-1.08-2.16-2.42 0-1.33.95-2.42 2.16-2.42 1.21 0 2.18 1.09 2.16 2.42 0 1.34-.95 2.42-2.16 2.42Zm7.96 0c-1.18 0-2.15-1.08-2.15-2.42 0-1.33.95-2.42 2.15-2.42 1.22 0 2.18 1.09 2.16 2.42 0 1.34-.94 2.42-2.16 2.42Z"></path></svg>
|
|
Login</a>
|
|
</header>
|
|
<main style="flex:1;position:relative">
|
|
<section style="max-width:1160px;margin:0 auto;padding:4.5rem 2.5rem 3.5rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center">
|
|
<div style="animation:riseIn .5s ease both">
|
|
<div style="display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#ffb340;border:1px solid rgba(255,154,31,.4);padding:.35rem .8rem;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)"><span style="width:6px;height:6px;background:#ffb340;border-radius:50%;animation:pulseGlow 2s infinite"></span>Community-Hub</div>
|
|
<h1 style="font-size:4rem;font-weight:700;line-height:1.02;text-transform:uppercase;margin:1.2rem 0 1rem">Willkommen bei<br><span style="background:linear-gradient(135deg,#ffb340,#f07800);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(240,120,0,.35))">D4RKST3R</span></h1>
|
|
<p style="font-size:1.05rem;color:#9a9aa3;max-width:520px;line-height:1.65">Devlogs, Roadmap, Server-Status und alles aus der Community — an einem Ort, direkt aus dem Discord.</p>
|
|
<div style="display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem">
|
|
<a href="#" style="display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#131316;background:linear-gradient(135deg,#ffb340,#f07800);padding:.8rem 1.6rem;font-weight:500;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:0 0 30px rgba(240,120,0,.3)">Zum Discord →</a>
|
|
<a href="#" style="display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#c9c9cf;border:1px solid rgba(255,255,255,.18);padding:.8rem 1.6rem;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)" style-hover="background:rgba(255,255,255,.06);color:#ffb340">Devlogs lesen</a>
|
|
</div>
|
|
<div style="display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.4rem">
|
|
<div><div style="font-size:1.9rem;font-weight:700;background:linear-gradient(135deg,#ffb340,#f07800);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1">214</div><div style="font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa3;margin-top:.25rem">Member im Discord</div></div>
|
|
<div><div style="font-size:1.9rem;font-weight:700;background:linear-gradient(135deg,#ffb340,#f07800);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1">3<span style="font-size:1.1rem;color:#66666e;-webkit-text-fill-color:#66666e"> / 4</span></div><div style="font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa3;margin-top:.25rem">Server online</div></div>
|
|
<div><div style="font-size:1.9rem;font-weight:700;background:linear-gradient(135deg,#ffb340,#f07800);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1">7</div><div style="font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa3;margin-top:.25rem">Spieler gerade drauf</div></div>
|
|
</div>
|
|
</div>
|
|
<div style="animation:riseIn .5s ease .1s both">
|
|
<img src="../brand/lockup.png" alt="D4RKST3R" style="width:300px;height:auto;object-fit:contain;filter:drop-shadow(0 16px 44px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(240,120,0,.15))">
|
|
</div>
|
|
</section>
|
|
<section style="max-width:1160px;margin:0 auto;padding:.5rem 2.5rem 5rem">
|
|
<div style="display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)">
|
|
<sc-for list="{{ tiles }}" as="tl" hint-placeholder-count="6">
|
|
<a href="#" style="background:#1b1b20;border:1px solid rgba(255,255,255,.08);padding:1.3rem 1.4rem;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);display:flex;flex-direction:column;gap:.45rem" style-hover="border-color:rgba(255,154,31,.5);background:#1f1f25;transform:translateY(-3px)">
|
|
<div style="display:flex;align-items:center;gap:.7rem">
|
|
<span style="display:inline-grid;place-items:center;width:36px;height:36px;background:rgba(255,154,31,.1);border:1px solid rgba(255,154,31,.3);color:#ffb340;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" dangerouslySetInnerHTML="{{ tl.svg }}"></svg></span>
|
|
<span style="font-weight:600;font-size:1.05rem;color:#ececee">{{ tl.title }}</span>
|
|
</div>
|
|
<p style="color:#9a9aa3;font-size:.88rem;line-height:1.55;margin:0">{{ tl.desc }}</p>
|
|
</a>
|
|
</sc-for>
|
|
</div>
|
|
<div style="margin-top:3rem">
|
|
<div style="display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem">
|
|
<span style="width:22px;height:3px;background:linear-gradient(90deg,#ffb340,#f07800)"></span>
|
|
<h2 style="font-size:1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em">Neuestes Devlog</h2>
|
|
<span style="flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.15),transparent)"></span>
|
|
<span style="font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;color:#66666e">VOR 2 TAGEN</span>
|
|
</div>
|
|
<a href="#" style="display:block;background:#1b1b20;border:1px solid rgba(255,255,255,.08);padding:1.4rem 1.6rem;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)" style-hover="border-color:rgba(255,154,31,.5);background:#1f1f25">
|
|
<div style="color:#c9c9cf;font-size:.95rem;line-height:1.65">
|
|
<p style="margin:0 0 .6rem">Diese Woche stand ganz im Zeichen des Traktors: Das neue Getriebemodell schaltet jetzt hörbar, und die Anhänger-Physik kippt nicht mehr bei jeder Bodenwelle. Nebenbei ist der Ladebildschirm um zwei Sekunden schneller geworden.</p>
|
|
<p style="margin:0">Außerdem gibt es erste Screenshots der überarbeiteten Hofkarte — mehr dazu im vollständigen Devlog.</p>
|
|
</div>
|
|
<span style="display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#ffb340">Weiterlesen →</span>
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
<footer style="border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 2.5rem;display:flex;align-items:center;gap:1.2rem;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#9a9aa3">
|
|
<span style="display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:#ececee;font-family:'Chakra Petch',sans-serif"><img src="../brand/mark.png" alt="" style="width:20px;height:20px;object-fit:contain">D4RKST<span style="color:#ff9a1f">3R</span></span>
|
|
<a href="#" style-hover="color:#ffb340">Quellcode</a><a href="#" style-hover="color:#ffb340">Status</a>
|
|
<span style="margin-left:auto;display:flex;gap:1.2rem"><a href="#" style-hover="color:#ffb340">Impressum</a><a href="#" style-hover="color:#ffb340">Datenschutz</a></span>
|
|
</footer>
|
|
</div>
|
|
</x-dc>
|
|
<script type="text/x-dc" data-dc-script>
|
|
class Component extends DCLogic {
|
|
renderVals() {
|
|
const P = {
|
|
file: '<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="M10 9H8"/><path d="M16 13H8"/><path d="M16 17H8"/>',
|
|
pin: '<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/><circle cx="12" cy="10" r="3"/>',
|
|
server: '<rect width="20" height="8" x="2" y="2" rx="2" ry="2"/><rect width="20" height="8" x="2" y="14" rx="2" ry="2"/><line x1="6" x2="6.01" y1="6" y2="6"/><line x1="6" x2="6.01" y1="18" y2="18"/>',
|
|
image: '<rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/>',
|
|
trend: '<polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/>',
|
|
calendar: '<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>',
|
|
};
|
|
const m = (icon, title, desc) => ({ svg: { __html: P[icon] }, title, desc });
|
|
return {
|
|
tiles: [
|
|
m('file', 'Devlog', 'Entwicklungs-Updates, frisch aus dem Editor'),
|
|
m('pin', 'Roadmap', 'Meilensteine + Community-Wünsche zum Abstimmen'),
|
|
m('server', 'Server', 'Live-Status aller Game-Server mit Verlauf'),
|
|
m('image', 'Galerie', 'Screenshots aus der Community'),
|
|
m('trend', 'Level', 'XP-Bestenliste — wer redet am meisten mit?'),
|
|
m('calendar', 'Events', 'Playtests, Streams und was sonst ansteht'),
|
|
],
|
|
};
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|