themes v0.1.1 [extra]


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

README

# themes

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

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

## Описание

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

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

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

- `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": "extra",
  "description": "Менеджер тем оформления: список, загрузка/установка/упаковка/удаление, редактор CSS-переменных, черновики, тема по умолчанию.",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "d5e3a1e90f21d8086529056c9896f4bda06ea4ee",
  "updated": "2026-09-20 00:25:34 +0300",
  "history": [
    {
      "version": "0.1.0",
      "date": "2026-09-11 14:47:35 +0300",
      "commit": "4c9bbd26117d3be96b78d8176ce77179de5d2c65"
    },
    {
      "version": "0.1.1",
      "date": "2026-09-12 23:22:16 +0300",
      "commit": "db9c47f797b3a96a29b646f86025a87d1eb4d645"
    }
  ],
  "integrity": "sha256:72cb43a2a83961a4912fef916bfeb0aa42667c3312fc4fe9aba56c615335efc4",
  "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 КБ

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

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

История версий

versiondatecommit
0.1.12026-09-12db9c47f797b3
0.1.02026-09-114c9bbd26117d