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>
3.1 KiB
Marken-Dateien
Alles hier stammt aus einem einzigen Original: dem D4RKST3R-Logo in 2048×2048 mit Transparenz (Katzenkopf über dem Schriftzug-Banner).
Was hier liegt
| Datei | Was | Wofür |
|---|---|---|
logo.png |
das Original, 2048×2048 mit Transparenz | Quelle für alles Weitere |
lockup.png |
volles Logo, auf den Inhalt beschnitten | Kopfzeilen, Discord-Banner, OG-Bilder |
mark.png |
nur der Katzenkopf, 1024×1024 | alles Quadratische — Favicon, Avatar |
build.py |
erzeugt beide plus die abgeleiteten Icons | Neubau nach Logo-Änderung |
studie-kopf-2025-06.png |
frühere Kopf-Studie, 636×636 | nirgends in Benutzung, liegt als Herkunft |
Achtung beim Neubau: build.py liest das Original noch über einen festen
Pfad ausserhalb des Repos (QUELLE = A:/Users/DAR/logo.png). Seit das Original
hier neben der Datei liegt, sind das zwei Kopien, die auseinanderlaufen können —
wer das Logo ändert, muss beide anfassen oder QUELLE auf logo.png umstellen.
Warum zwei Fassungen
Das volle Lockup ist bei 16 oder 32 Pixeln unbrauchbar — der Schriftzug wird zu
einem orangen Balken. Für Favicon, Avatar und Navbar-Logo wird deshalb nur der
Kopf verwendet, mit Ohrenspitzen und etwas Schulter. Der Zuschnitt steht in
build.py als KOPF und wurde von Hand gegen drei Varianten geprüft: enger
schneidet die Ohren ab, weiter fängt schon den Banner ein.
Warum SVG mit eingebettetem PNG
Gitea will logo.svg und favicon.svg — echte SVG-Dateien. Das Original ist
aber eine Rastergrafik mit Verläufen und Schattierung; nachvektorisieren würde
sie matschig machen. Deshalb wird das PNG in eine SVG-Hülle gelegt
(<svg><image href="data:image/png;base64,…"/></svg>). Das ist gültiges SVG,
Gitea nimmt es an, und es sieht aus wie das Original.
Die eingebettete Auflösung ist bewusst klein gehalten: das Navbar-Logo hängt an jedem Seitenaufruf, 192 px reichen für eine Darstellung mit rund 30 px.
Wohin die erzeugten Dateien gehen
build.py schreibt direkt an beide Ziele:
A:/eco/Gitea/data/gitea/public/assets/img/
logo.svg Navbar + App-Icon
favicon.svg Browser-Tab
favicon.png Rückfallebene, die Gitea als „alternate icon" setzt
apple-touch-icon.png iOS-Lesezeichen (180 px, deckend)
avatar_default.png Standardavatar für Konten ohne Bild (512 px)
frontend/public/
favicon.svg
apple-touch-icon.png
og-default.png Vorschaubild geteilter Links, 1200×630
src/bot/assets/
mark-card.png Wasserzeichen der Willkommens-Karte
src/bot/assets/ statt docs/ ist Absicht: das Dockerfile kopiert nur src/
und frontend/dist/, alles andere existiert im Container nicht.
Die Icons auf dunklem Grund sind deckend (#0a0a0a, abgerundet) — iOS legt
hinter transparente Lesezeichen sonst Schwarz oder Weiß, je nach Laune, und die
Katze ist selbst fast schwarz.
Neu bauen
python docs/brand/build.py
Danach für Gitea docker restart gitea — die Dateien unter custom/ werden
beim Start eingelesen. Fürs Frontend reicht der normale Build.