🎨 Руководство по созданию тем
Изучите JSON-схему тем ForcedSkin и правила полей палитры — создавайте палитры для любых сайтов и отправляйте их сообществу.
Быстрый старт
Выберите режим
Решите, будет ли тема работать в light (светлые палитры) или dark (тёмные палитры).
Заполните цвета
Следуйте спецификации полей ниже — как минимум все обязательные ключи должны быть в JSON.
Отправьте на проверку
На странице Темы нажмите «Отправить тему». Админы одобряют публикацию для всех.
Цветовые поля
Все записи палитры должны быть hex-строками (#RRGGBB) или значениями CSS rgba(...).
backgroundОбязательноОсновной фон страницы — светлые темы ближе к белому, тёмные — к глубоким нейтральным. CSS-переменная: --color-background
Пример: #F8FFF8 / #101410
foregroundОбязательноОсновной текст — читаемый контраст с фоном. CSS-переменная: --color-foreground
Пример: #2C3E2C / #E0E0E0
surfaceОбязательноЗаливка карточек / панелей / контейнеров — чуть выше фона. CSS-переменная: --color-surface
Пример: #F0FFF0 / #1E221E
surfaceMutedНеобязательноПриглушённые hover / вложенные контейнеры на ступень ниже surface. CSS-переменная: --color-surface-muted
Пример: #F5FDF5 / #161816
borderОбязательноТонкие линии и разделители — обычно малонасыщенные серые / полупрозрачные тона. CSS-переменная: --color-border
Пример: #D8E8D8 / #333633
mutedОбязательноВторостепенный текст и плейсхолдеры. CSS-переменная: --color-muted
Пример: #6C7E6C / #A0A0A0
primaryОбязательноОсновная брендовая шкала для кнопок / ссылок / фокуса — один цвет или шкала (50–950). Требуются как минимум оттенки 500/600/700. Соответствует CSS-переменным --color-primary- плюс токены оттенков (50–950)
Пример: { "500": "#4CAF50", "600": "#43A047", "700": "#388E3C" }
secondaryНеобязательноВторичные акцентные шкалы для чипов / ghost-кнопок — структура как у primary — соответствует --color-secondary- плюс токены оттенков
Пример: { "500": "#AAA", ... }
accentНеобязательноПодсветки, бейджи, акцентные цвета — структура как у primary — соответствует --color-accent- плюс токены оттенков
Пример: { "500": "#FFEB3B", ... }
varsНеобязательноПроизвольные CSS custom properties — ключи без «--»; значения применяются как есть на :root
Пример: { "custom-radius": "8px" }
Цветовые шкалы
Ключи JSON primary, secondary и accent принимают любой из двух стилей ниже:
Компактный (три основных оттенка)
{
"primary": {
"500": "#4CAF50",
"600": "#43A047",
"700": "#388E3C"
}
}Движок использует оттенок 500 как основной; 600/700 покрывают hover/active.
Полная шкала (50 → 950, одиннадцать ступеней)
{
"primary": {
"50": "#E8F5E9",
"100": "#C8E6C9",
...
"500": "#4CAF50",
...
"950": "#0F3D12"
}
}Публикация полной шкалы даёт более плавные тональные переходы везде.
Полные примеры
🌿 Светлый пример (light-mint)
{
"background": "#F8FFF8",
"foreground": "#2C3E2C",
"surface": "#F0FFF0",
"surfaceMuted": "#F5FDF5",
"border": "#D8E8D8",
"muted": "#6C7E6C",
"primary": {
"50": "#E8F5E9",
"100": "#C8E6C9",
"200": "#A5D6A7",
"300": "#81C784",
"400": "#66BB6A",
"500": "#4CAF50",
"600": "#43A047",
"700": "#388E3C",
"800": "#2E7D32",
"900": "#1B5E20",
"950": "#0F3D12"
},
"secondary": {
"500": "#AAAAAA",
"600": "#999999",
"700": "#777777"
},
"accent": {
"500": "#FFEB3B",
"600": "#FDD835",
"700": "#FBC02D"
}
}🌑 Тёмный пример (dark-forest)
{
"background": "#101410",
"foreground": "#E0E0E0",
"surface": "#1E221E",
"surfaceMuted": "#161816",
"border": "#333633",
"muted": "#A0A0A0",
"primary": {
"500": "#4A9B6B",
"600": "#3F855C",
"700": "#346F4D"
}
}Пользовательские переменные (vars)
Если стандартных токенов мало, добавьте дополнительные CSS-переменные в узел vars — опустите префикс -- в каждом ключе.
{
"background": "#101010",
"foreground": "#E0E0E0",
...
"vars": {
"radius-card": "16px",
"shadow-card": "0 2px 12px rgba(0,0,0,0.4)"
}
}Правила slug (name)
- Только строчные ASCII-буквы, цифры и дефис (
a-z 0-9 -). - Предпочитайте короткие пары «режим-стиль», например «dark-ocean» или «light-sakura».
- Slug должен быть глобально уникальным — после публикации его нельзя изменить, проверьте заранее.
- Максимальная длина — 50 символов.
Отправка и проверка
🔐 Войдите перед отправкой.
⏳ Заявки попадают в очередь — команда обычно отвечает в течение 1–3 рабочих дней.
✅ Одобренные темы появляются в магазине, и их можно добавлять в избранное.
❌ Некорректные цвета, конфликтующие имена или нарушения правил приведут к отклонению — удалите и отправьте исправленную версию.
🚫 Никакого вредоносного кода, языка ненависти и явно нарушающих права палитр.
Готовы? Перейдите в магазин тем и опубликуйте палитру.
🎨 Отправить тему