themes v0.1.1 [base]


Менеджер тем оформления: список, загрузка/установка/упаковка/удаление, редактор CSS-переменных, черновики, тема по умолчанию.

versiondatecommitфайлов
0.1.12026-09-1746803aa3a9278

README

# themes

Менеджер тем оформления: список, установка, удаление, редактор переменных, черновики, тема по умолчанию.

Тип: Модуль. Категория: `base`. Зависимостей нет.

## Описание

Внешность кабинета — это темы: у каждой своё описание, стили и фоновый скрипт. Модуль — менеджер поверх них: список тем, выбор темы по умолчанию, правка визуальных переменных без залезания в файлы, загрузка архивом, упаковка обратно, удаление.

Для смелых правок есть черновики: копия темы, в которой можно менять всё, посмотреть результат, а потом либо опубликовать в основную тему, либо выкинуть. Версия темы заодно работает сбросом кэша статики — после обновления тема гарантированно подхватится свежей.

## Возможности

- `list {}` → все темы (черновики — с бейджем)
- `set_default {id}` → тема по умолчанию
- `stage {filename, content_type, body: bytes}` → загрузить архив в стейджинг с валидацией
- `staged {}` → что лежит в стейджинге
- `install {name}` → установить тему из стейджинга
- `pack {name}` → скачать тему архивом
- `delete {name}` → удалить тему (кроме дефолтной)
- `vars {name}` → CSS-переменные темы
- `set_vars {name, values: {...}}` → сохранить CSS-переменные
- `draft_create {id}` → черновик-копия для смелых правок
- `draft_publish {id}` → опубликовать черновик в основную тему
- `draft_drop {id}` → удалить черновик

## Права

- `themes_manage` — Управление темами оформления (кабинет «Темы»)

## Web

- `GET /api/themes/manage` — список тем и переменные
- `POST /api/themes/manage` — все мутации (дефолт, переменные, черновики, удаление)
- `POST /api/themes/upload` — загрузка архива в стейджинг

Манифест

{
  "name": "themes",
  "version": "0.1.1",
  "category": "base",
  "description": "Менеджер тем оформления: список, загрузка/установка/упаковка/удаление, редактор CSS-переменных, черновики, тема по умолчанию.",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "46803aa3a927a3a188c2249f494e5ea5ecf92dc6",
  "updated": "2026-09-17 12:54:21 +0300",
  "integrity": "sha256:23f8023afea6a883bfa84f493cceca0df27ca05430f584274bb8d32cc4b642a2",
  "files": "[8 файлов — см. вкладки ниже]",
  "note": "",
  "wdesc": "",
  "wbody": "",
  "_extra": {
    "api": "",
    "events_emitted": "[]",
    "events_subscribed": "[]",
    "audit_allow": "",
    "shared_routes": "",
    "config_schema": "config.schema.json",
    "env_example": ".env.example"
  }
}

Файлы и исходники

Дерево файлов

  • · корень
    • 2.5 КБ
    • 0.0 КБ
    • 14.4 КБ
    • 2.5 КБ
    • 5.6 КБ
    • 3.4 КБ
  • web/
    • 1.6 КБ
    • 6.9 КБ

Предпросмотр

Выберите файл в дереве выше — код откроется здесь.