GitHub дизайн-система.
GitHub дизайн-система — Платформа, ориентированная на код. Высокая функциональная плотность, синяя на белом точность, основы Primer.
Посмотрите в контексте
Одни и те же дизайн-токены, применённые к разным типам артефактов — сайту, приложению, слайду, постеру. Оригинальные макеты, переоформленные этой системой, а не скриншоты.
it
real.
Дизайн-токены
56 токенов, соответствующих контракту токенов Open Design — та же структурированная палитра, шрифты, отступы и значения анимации, которые ваш agent читает, чтобы оформить любой артефакт.
Поверхность
-
--bg#ffffff -
--surface#f6f8fa -
--surface-warmvar(--surface)
Текст
-
--fg#1f2328 -
--fg-2#1f2328 -
--muted#656d76 -
--meta#656d76
Границы
-
--border#d0d7de -
--border-soft#d8dee4
Акцент
-
--accent#0969da -
--accent-on#ffffff -
--accent-hover#0550ae -
--accent-activecolor-mix(in oklab, var(--accent), black 14%)
Семантика
-
--success#1a7f37 -
--warn#9a6700 -
--danger#cf222e
Типографика
-
--font-display-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" -
--font-body-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" -
--font-monoui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace
Шкала шрифтов
-
--text-xs12px -
--text-sm14px -
--text-base14px -
--text-lg16px -
--text-xl20px -
--text-2xl24px -
--text-3xl28px -
--text-4xl32px -
--leading-body1.5 -
--leading-tight1.25 -
--tracking-display-0.01em
Отступы
-
--space-14px -
--space-28px -
--space-312px -
--space-416px -
--space-520px -
--space-624px -
--space-832px -
--space-1248px -
--section-y-desktop64px -
--section-y-tablet48px -
--section-y-phone32px
Скругление
-
--radius-sm6px -
--radius-md6px -
--radius-lg12px -
--radius-pill9999px
Тени
-
--elev-flatnone -
--elev-ring0 0 0 1px var(--border) -
--elev-raised0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12)
Фокус
-
--focus-ring0 0 0 3px rgba(9, 105, 218, 0.3)
Анимация
-
--motion-fast80ms -
--motion-base200ms -
--ease-standardease-out
Макет
-
--container-max1280px -
--container-gutter-desktop24px -
--container-gutter-tablet16px -
--container-gutter-phone16px
Дизайн-система, вдохновлённая GitHub
Category: Инструменты разработчика Платформа, ориентированная на код. Функциональная плотность, точность синего на белом, основы Primer.
1. Визуальная тема и атмосфера
Поверхность GitHub спроектирована, а не украшена. Каждый пиксель выражает позицию: это инструмент для людей, которым важны диффы, сборки и pull request’ы. Фон страниц — чистый #ffffff (светлая тема) или #0d1117 (тёмная), а контент размещается на плотных прямоугольных панелях, разделённых тонкими границами, а не отступами. Плотность информации — это бренд: строки списков, строки кода, заголовки репозиториев и карточки уведомлений стоят близко, чтобы опытный пользователь мог просмотреть сотню элементов без прокрутки.
Характерные акценты — синий Primer (#0969da) для ссылок и основных действий и зелёный GitHub (#1a7f37) для состояний слияния, успеха и самой кнопки слияния. Оба цвета выглядят немного приглушёнными по сравнению с синим и зелёным в потребительских продуктах — насыщенными ровно настолько, чтобы читаться на фоне плотного серого текста, и сдержанными настолько, чтобы растворяться в фоне, когда их несколько в одном вьюпорте.
Типографика использует стек system-ui во всём продукте, чтобы текст чётко рендерился в любой ОС; для кода применяется SFMono / Menlo / Consolas. Редакционных декоративных шрифтов нет; голос GitHub — это голос системы, в которой вы уже находитесь.
Ключевые характеристики:
- Чисто белый холст (
#ffffff) или глубокий тёмно-синий/чёрный (#0d1117) — без теплоты, без оттенка - Тонкие серые границы (
#d0d7de) определяют каждую панель - Синий Primer (
#0969da) — для ссылок и основных действий; зелёный GitHub (#1a7f37) — для успеха и слияния - system-ui — для прозы; SFMono — для кода; никаких пользовательских гарнитур
- Плотные строки списков с минимальными отступами; пространство используется редко
- Иконография Octicon 16px / 24px — одноконтурная, геометрическая, последовательная
- Статусные бейджи в форме таблеток с чёткой цветовой семантикой
2. Цветовая палитра и роли цветов
Основные
- Canvas Default (
#ffffff): основной фон страницы, светлая тема. - Canvas Subtle (
#f6f8fa): вторичная поверхность, боковая панель, фон полей ввода, полоса заголовка. - Canvas Inset (
#eaeef2): фон блоков кода, глубоко утопленная поверхность. - Fg Default (
#1f2328): основной текст, заголовки, шрифт. - Fg Muted (
#656d76): вторичный текст, подписи, пути к файлам.
Брендовый акцент
- Primer Blue (
#0969da): ссылки, основные CTA, кольцо фокуса — универсальный интерактивный цвет. - Primer Blue Hover (
#0550ae): наведение/нажатие для основного синего. - Accent Subtle (
#ddf4ff): мягкая синяя поверхность для подсказок и информационных баннеров.
Семантические
- Success / Merge Green (
#1a7f37): смёрженные PR, бейджи успеха, кнопка слияния. - Success Subtle (
#dafbe1): оттенок поверхности успеха. - Open Green (
#1a7f37): состояние «Открыт» для issue/PR. - Closed / Danger Red (
#cf222e): закрытые PR, деструктивное действие, ошибка валидации. - Danger Subtle (
#ffebe9): поверхность баннера ошибки. - Attention / Warning Yellow (
#9a6700): предупредительный текст на янтарной поверхности. - Attention Subtle (
#fff8c5): поверхность предупредительного баннера. - Done Purple (
#8250df): смёрженное и архивированное состояние, статус «готово», премиальный бейдж. - Sponsor Pink (
#bf3989): значок сердца спонсоров, бренд GitHub Sponsors.
Границы и разделители
- Border Default (
#d0d7de): стандартная тонкая граница, контур панели. - Border Muted (
#d8dee4): внутренние разделители внутри панели. - Border Subtle (
#eaeef2): едва заметные разделители строк таблицы.
Тёмная тема
- Dark Canvas (
#0d1117): тёмный фон страницы. - Dark Surface (
#161b22): боковая панель, заголовок, вторичная поверхность. - Dark Border (
#30363d): стандартная граница тёмного режима. - Dark Fg (
#e6edf3): основной текст на тёмном фоне.
3. Правила типографики
Семейство шрифтов
- Основной текст / UI:
-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif - Код / Моно:
ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace - Emoji:
"Apple Color Emoji", "Segoe UI Emoji"
Иерархия
| Роль | Шрифт | Размер | Начертание | Межстрочный интервал | Трекинг | Примечания |
|---|---|---|---|---|---|---|
| Display | system-ui | 32px (2rem) | 600 | 1.25 | -0.01em | Заголовок репозитория, маркетинговый герой |
| H1 | system-ui | 24px (1.5rem) | 600 | 1.25 | normal | Заголовок страницы |
| H2 | system-ui | 20px (1.25rem) | 600 | 1.25 | normal | Заголовок раздела |
| H3 | system-ui | 16px (1rem) | 600 | 1.25 | normal | Подраздел, заголовок панели |
| Body | system-ui | 14px (0.875rem) | 400 | 1.5 | normal | Стандартный размер текста — не 16px |
| Body Small | system-ui | 12px (0.75rem) | 400 | 1.4 | normal | Подписи, метаданные файлов |
| Code | SFMono | 12px (0.75rem) | 400 | 1.45 | normal | Блоки кода, diff |
| Code Inline | SFMono | 0.85em | 400 | inherit | normal | Встроенные фрагменты code |
Принципы
- 14px для основного текста, не 16px: плотность прозы GitHub — его идентичность. Продукт читается при 14px, чтобы вместить больше строк в область просмотра.
- Два варианта начертания: 400 для всего по умолчанию; 600 для заголовков и акцентов. Ни 500, ни 700.
- Системные шрифты всегда: никогда не загружайте веб-шрифты для интерфейса — текст должен рендериться мгновенно при медленном соединении.
4. Стили компонентов
Кнопки
Основная (зелёная)
- Фон:
#1f883d - Текст:
#ffffff - Граница: 1px solid
rgba(31, 35, 40, 0.15) - Отступы: 5px 16px
- Скругление: 6px
- Тень:
0 1px 0 rgba(31,35,40,0.1) - Наведение: фон
#1a7f37 - Использование: «Create repository», «Merge pull request»
По умолчанию
- Фон:
#f6f8fa - Текст:
#1f2328 - Граница: 1px solid
#d0d7de - Отступы: 5px 16px
- Скругление: 6px
- Наведение: фон
#f3f4f6, граница#d0d7de
Контурная (стиль синей ссылки)
- Фон:
#ffffff - Текст:
#0969da - Граница: 1px solid
#d0d7de - Наведение: фон
#0969da, текст#ffffff
Опасная
- Фон:
#ffffff - Текст:
#cf222e - Граница: 1px solid
#d0d7de - Наведение: фон
#a40e26, текст#ffffff, граница#a40e26
Карточки / блоки
- Фон:
#ffffff - Граница: 1px solid
#d0d7de - Скругление: 6px
- Отступы: 16px (заголовок) + 16px (тело)
- Заголовок имеет полосу
#f6f8faс нижней границей.
Поля ввода
- Фон:
#ffffff - Граница: 1px solid
#d0d7de - Скругление: 6px
- Отступы: 5px 12px
- Фокус: граница
#0969da, кольцо0 0 0 3px rgba(9,105,218,0.3)
Статусные таблетки (Issue / PR)
- Открыт: фон
#1a7f37, белый текст, отступы 4px 10px, скругление 9999px. - Закрыт: фон
#cf222e, белый текст. - Смёрджен: фон
#8250df, белый текст. - Черновик: фон
#6e7781, белый текст.
Метки (теги на Issue/PR)
- Отступы: 0 7px
- Скругление: 9999px
- Шрифт: 12px / 500
- Фон и текст задаются программно (цвет метки → цвет текста вычисляется для контрастности).
5. Отступы и компоновка
- Базовая единица: 4px. Шкала отступов: 4, 8, 12, 16, 24, 32, 40, 48.
- Максимальная ширина страницы: 1280px (
Container-xl). - Боковая панель: 296px на десктопе, сворачивается ниже 1012px.
- Отступы строки: 16px по горизонтали, 12px по вертикали (списки намеренно плотные).
6. Движение
- Длительность: 80ms для наведения; 200ms для открытия меню/поповера.
- Easing:
ease-outдля открытия,ease-inдля закрытия. - Избегать: анимаций при загрузке страницы, параллакса, постоянных микровзаимодействий. Элементы появляются — но не выступают.
7. Ограничения использования
- Используйте плотные списки, обрамлённые блоки и системную типографику вместе; изолированные зелёные кнопки сами по себе не создают поверхность, похожую на GitHub.
- Применяйте зелёный для конструктивных действий с репозиторием, синий — для ссылок и фокуса, красный/фиолетовый/серый — только для состояний issue, PR и рабочих процессов.
- Отдавайте предпочтение сдержанному оформлению, чётким границам и компактным отступам вместо декоративных теней или крупных маркетинговых карточек.
Теги
design-systemfirst-partydesigndeveloper-tools