Files
d4rkbot/docs/brand/README.md
D4rkst3randClaude Opus 5 0d7628f14e
Deploy / check (push) Canceled after 0s
Deploy / deploy (push) Canceled after 0s
Den Entwurf und das Logo-Original einsortieren
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>
2026-08-18 15:19:49 +02:00

3.1 KiB
Raw Permalink Blame History

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.