Марка-надпись: имя — само поле знака, край держат зубцовка и волосяной контур. Один файл работает на светлой и тёмной теме.
Positioning
Stamp subtitle: SELF-HOSTED SMTP RELAY (unchanged on the mark). Tagline: YOUR SMTP. YOUR RULES. Hero line (README, GitHub): Self-hosted SMTP relay with a web panel — one Docker image, no provider.
Canonical copy also lives in docs/product.md § Positioning.
Эталон
#7A3B2E · печать
#F3EDE1 · поле
#F6EDE2 · краска по полю
#12161C · контур 0.8
контраст 7,3:1 · подзаголовок 4,6:1
README на GitHub
mixeme / selfpost
SelfPost
Self-hosted SMTP relay with a web panel — one Docker image, no provider.
light Тёплое поле отделяет марку от белого GitHub, контур ловит край.
mixeme / selfpost
SelfPost
Self-hosted SMTP relay with a web panel — one Docker image, no provider.
dark Тот же файл: на тёмном работает поле, контур просто исчезает.
Шапка панели
DomainsApplicationsSend logBackup
example.org 14:22:07 delivered
shop.example.org 14:21:55 bounced
example.org 14:19:03 delivered
проверка на конфликт Ровно тот экран, ради которого мы отбраковывали краски: кирпич рядом с зелёным «delivered» и красным «bounced» не читается ни как один из них.
Фавикон и аватар
SelfPost — Domains
docs
https://mail.example.org/domains
16 px Слева версия для мелкого размера: зубцы крупнее и реже, вместо двух строк — SP. Справа для сравнения полная иконка в том же размере: превращается в кашу.
80 / 48 / 32 px Аватар организации на GitHub. Порог перехода на версию SP — 32 px.
Размеры и охранное поле
полная · от 280 px
компактная · от 100 px
иконка · до 100 px
Числа не на глаз. Полная версия живёт до 280 px по ширине — ниже подзаголовок опускается под 6 px и перестаёт читаться. Компактная — до 100 px. Охранное поле (пунктир) равно трём шагам зубцовки, ≈ 21 % высоты марки: мера взята из самого знака, а не назначена.
Чего не делать
Не растягиватьПропорции 1:2,3 — часть знака: зубцовка рассчитана на них и при неравном масштабе зубцы становятся овалами.
Не менять краскуКирпич выбран по контрасту (7,3:1) и по тому, что он не спорит со статусами панели. Другой цвет ломает оба расчёта.
Не класть на пёстроеВолосяной контур рассчитан на ровный фон. На фото и градиенте край пропадает.
Не добавлять рамок и тенейМарка держит край зубцовкой и контуром. Всё остальное — уже наклейка, а не марка.
Не набирать подзаголовок мельче 6 pxНиже полная версия перестаёт читаться — там уже компактная.
Контуры сделаны. Текст в четырёх файлах выше переведён в контуры по IBM Plex Sans (OFL) — шрифт на машине читателя больше не нужен, и Self с Post держат свои 200 и 600 везде. Панель отдаёт свои копии из internal/web/static/: logo.svg, logo-compact.svg, favicon.svg плюс растровый favicon.png 32×32 для браузеров без SVG-фавиконов — go:embed не дотягивается за пределы пакета, поэтому это копии, а не ссылки. Макеты на этой странице остались с живым текстом: это протокол разбора знака, а не источник файлов.