Skip to content

Темы

⚠️ Управление темами в Pano требует права доступа «Управление представлением» (View Management).
Если вы не вошли в систему как администратор, у вас должно быть право доступа на просмотр, чтобы открыть страницу тем и выполнять связанные с ними действия.

Темы определяют внешний вид и интерфейс вашего веб-сайта Pano.
Они управляют макетами, цветами, компонентами и пользовательским опытом, позволяя каждой установке Pano выглядеть уникально, сохраняя при этом совместимость с бэкендом.

Темы работают независимо от аддонов бэкенда, что означает, что вы можете переключать темы без перезапуска Pano и без влияния на работу аддонов.

Создание собственной темы

Если вы хотите создать свою собственную тему, Pano делает это простым и мощным процессом.
Темы разрабатываются с использованием SvelteKit — того же современного веб-фреймворка, который обеспечивает работу интерфейсов самого Pano.

Каждая тема представляет собой отдельное приложение SvelteKit, упакованное в .zip архив после сборки.
В отличие от традиционных тем, здесь нет папок assets/ или build/, которыми нужно управлять вручную — процесс сборки сделает всё за вас.

Тема может:

  • Определять собственные макеты, маршруты или виджеты.
  • Добавлять собственную систему стилей и конфигурацию переменных.
  • Взаимодействовать с бэкендом Pano через REST API.
  • Опционально зависеть от конкретных аддонов или предоставлять пользовательские API для других.

Темы могут получать данные бэкенда только через слой API Pano, но при этом они работают как настоящие UI-приложения.

Узнайте, как создать и упаковать свою тему, здесь: Руководство по разработке тем →

Почему темы важны

Темы — это то, что формирует пользовательский опыт сайта вашего сервера.
Они определяют, как посетители взаимодействуют с вашим контентом и как сообщество видит ваш бренд.

Темы позволяют вам:

  • Настраивать индивидуальность и дизайн вашего сайта.
  • Изменять цветовые схемы, макет и структуру.
  • Создавать разные стили для разных аудиторий.
  • Интегрироваться с аддонами для расширения функциональности.
  • Публиковать и делиться своей темой с другими в Pano Marketplace.

Некоторым аддонам могут требоваться определенные темы, а некоторым темам — определенные аддоны для правильной работы.
Кроме того, некоторые темы расширяют или переопределяют стандартное поведение API Pano для предоставления расширенных функций.

Как работают темы (за кулисами)

Pano загружает темы как независимые UI-приложения из директории themes/.
Каждая тема содержит файл манифеста manifest.json, в котором хранятся метаданные (id, версия, автор, совместимость и т. д.).
Этот файл автоматически создается и управляется Pano — не редактируйте его вручную.

При запуске Pano:

  1. Сканирует папку themes/ на наличие валидных тем.
  2. Невалидные или поврежденные темы автоматически пропускаются.
  3. Только валидные темы отображаются в разделе Панель → Вид → Темы.
  4. Pano перезагружает все доступные темы при запуске.
  5. Только что установленные темы автоматически обнаруживаются и отображаются — ручная перезагрузка не требуется.

Стандартные интерфейсы в Pano

По умолчанию Pano поставляется с тремя встроенными UI-приложениями:

  • panel-ui → Панель администратора.
  • setup-ui → Интерфейс настройки (отображается при первой конфигурации).
  • vanilla-theme → Стандартная тема публичного сайта.

Только vanilla-theme является полноценной темой.
Остальные два приложения (panel-ui, setup-ui) являются UI-приложениями, а не темами, и не будут отображаться в списке тем.

Если Pano еще не был настроен, он автоматически показывает Setup UI до завершения установки.

Чтобы получить доступ к панели администратора, перейдите по адресу /panel в вашем браузере — если вы вошли в систему и имеете необходимые права, вы будете перенаправлены в интерфейс панели.

Установка тем

Вы можете установить темы двумя способами:

1. С вашего локального компьютера

  1. Откройте раздел Панель → Вид → Темы.
  2. Нажмите Установить тему.
  3. Перетащите ваш .zip файл темы или выберите его вручную.
  4. Новая тема будет автоматически загружена и отображена в списке — перезагрузка не требуется.

⚠️ Предупреждение о непроверенных темах:
Установка тем из неизвестных или неофициальных источников осуществляется на ваш страх и риск.
Непроверенные темы могут содержать небезопасный или несовместимый код.
Устанавливайте только те темы, которым вы доверяете, или те, что опубликованы в Pano Store.

2. Из Pano Store

  1. В окне Установить тему нажмите Browse Store.
  2. Выберите тему — бесплатную или премиум.
  3. Нажмите Install и позвольте Pano сделать всё автоматически.
  4. Тема появится автоматически после установки.

Для использования Маркетплейса требуется привязанный аккаунт Pano.

Активация и управление темами

Одновременно может быть активна только одна тема.
Активную тему можно остановить или перезапустить вручную при необходимости.
Если текущая активная тема остановлена, публичный веб-сайт станет недоступен до момента перезапуска.
В таком случае рекомендуется перезапустить Pano.

Чтобы управлять вашими темами:

  1. Перейдите в раздел Панель → Вид → Темы.
  2. Выберите тему.
  3. Нажмите Start или Stop, чтобы активировать или деактивировать её.

Остановка активной темы временно отключает веб-сайт.
Всегда убеждайтесь, что валидная тема активна, прежде чем останавливать другую.

Настройка тем

Каждая тема имеет свои собственные параметры конфигурации, которые могут отличаться от темы к теме.
В целом вы можете настроить:

  • Цвета и цветовые переменные
  • Макет шапки (header) и подвала (footer)
  • Шрифты и типографику
  • Фоновые изображения и градиенты
  • Ширину макета, отступы и размеры контейнеров
  • Логотип сайта, фавиконку или брендинг

Вы можете просмотреть и изменить настройки активной темы в разделе:
Панель → Вид → Настройки темы

Изменения применяются мгновенно — перезапуск не требуется.

⚠️ Удаление темы

Темы можно удалить только со страницы их подробного описания — не из общего списка тем.

При удалении:

  • Если тема активна в данный момент, Pano автоматически переключится обратно на vanilla-theme.
  • Встроенные UI-приложения (panel-ui, setup-ui, vanilla-theme) нельзя удалить, изменить или обновить по отдельности.
  • Pano автоматически переустанавливает любые отсутствующие встроенные приложения во время запуска, если они были повреждены или удалены.

Чтобы удалить пользовательскую тему:

  1. Перейдите в раздел Панель → Вид → Темы → [Подробнее о теме].
  2. Нажмите Удалить.
  3. Подтвердите действие.

Структура директорий

Пример структуры директории Pano с темами:

/pano/
├── Pano-1.0.0.jar
├── config.conf
├── panel-ui/
├── setup-ui/
├── themes/
│    ├── vanilla-theme/
│    ├── dark-matter-theme/
└── file-uploads/

Важно:

  • Не изменяйте и не заменяйте panel-ui, setup-ui или vanilla-theme.
  • Они управляются Pano внутренне и будут автоматически переустановлены при запуске, если будут отсутствовать или повреждены.
  • Вручную управляйте только папками тем, установленных пользователем.

Резюме

ДействиеРасположениеОписание
Установить (локально)Панель → Вид → Темы → Установить темуПеретащите или загрузите
Установить (магазин)Панель → Вид → Темы → Установить тему → Browse StoreЗагрузка напрямую из маркетплейса
Активировать / ОстановитьПанель → Вид → Темы → Start/StopВключить или отключить тему
НастроитьПанель → Вид → Настройки темыИзменить цвета, макет, шрифты
УдалитьПанель → Вид → Темы → Подробнее о теме → УдалитьБезопасно удалить кастомную тему

Продвинутые примечания

  • Только валидные темы отображаются в списке; поврежденные или неполные темы игнорируются.
  • Каждая тема упаковывается в виде сборки SvelteKit (.zip архив).
  • Каждая тема содержит файл manifest.json, генерируемый автоматически — не редактируйте вручную.
  • Некоторые аддоны зависят от определенных тем, и наоборот.
  • Некоторые темы предоставляют или переопределяют стандартные API для расширенной функциональности.
  • Встроенные UI-приложения (panel-ui, setup-ui, vanilla-theme) защищены и не могут быть изменены.
  • Если они повреждены или отсутствуют, Pano автоматически переустановит их во время запуска.
  • Темы не изолированы (не в песочнице), но их доступ к бэкенду ограничен HTTP API эндпоинтами.

Темы определяют индивидуальность вашего Pano — ваш мир, ваш дизайн, ваше лицо.