Skip to content

MaliStra/MediaMatrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediaMatrix – менеджер плагинов для Electron

Версия: 2.3.8
Платформа: Windows / macOS / Linux (Electron + Express)

1774177810507-019d153c-ad46-7632-aacf-151a66ac9918

MediaMatrix — это десктопное приложение для установки, запуска и управления пользовательскими плагинами. Плагины пишутся на JavaScript и могут расширять функциональность приложения: добавлять пункты меню, создавать новые страницы, взаимодействовать с интерфейсом и API. Приложение включает встроенный магазин плагинов, настраиваемую тему оформления, систему уведомлений и работает как локальный веб-сервер.

1774177865836-019d153c-ad46-736c-82b3-e9754ebda222

Основные возможности

  • Управление плагинами – установка из файла .js, по URL или прямым вводом кода.
  • Магазин плагинов – подключение внешнего JSON‑каталога, установка и автоматическая проверка обновлений.
  • Карусель плагинов – горизонтальная лента установленных плагинов на главной странице.
  • Настройка порядка меню – перетаскивание пунктов бокового меню, сохранение порядка.
  • Темы оформления – светлая, тёмная, океан, лес, закат.
  • Настраиваемая верхняя панель – отображение часов, иконок переходов и уведомлений.
  • Система уведомлений – всплывающие сообщения и история.
  • Экспорт / импорт данных – резервное копирование всех плагинов и настроек.
  • Работа в системном трее – приложение сворачивается в трей, продолжает работу в фоне.
  • Локальный сервер – раздача статических файлов через Express (порт настраивается).

Технологии

  • Electron 28 – десктопная оболочка
  • Express 5 – локальный веб‑сервер
  • HTML5 / CSS3 / JavaScript (ES6) – интерфейс
  • LocalStorage – хранение данных
  • Font Awesome 6 – иконки

Установка и запуск

Требования

  • Node.js 18+
  • npm или yarn

Установка зависимостей

npm install
Запуск в режиме разработки
bash
npm start
Сборка готового приложения
bash
npm run dist
Сборка создаст установщик (Windows – NSIS) в папке dist/.

Структура проекта
text
MediaMatrix/
├── engine/                # Клиентские скрипты (UI, плагины, навигация)
├── component/             # Карусель, магазин, настройки меню
├── index.html             # Главная страница
├── styles.css             # Все стили и темы
├── main.js                # Electron + Express сервер
├── preload.js             # Мост между рендерером и main процессом
├── package.json           # Зависимости и скрипты сборки
└── build/                 # Иконки и ресурсы для сборки
Конфигурация
Все настройки сохраняются в localStorage:

plugins – массив установленных плагинов.

generalSettings – уведомления, автозапуск, показ карусели, настройки верхней панели.

storeSettings – URL магазина, автообновление.

menuOrder – порядок пунктов бокового меню.

theme – текущая тема оформления.

Настройки сервера (порт, CORS, webSecurity) хранятся в файле %APPDATA%/MediaMatrix/config.json (Windows) или ~/Library/Application Support/MediaMatrix/config.json (macOS).

Разработка плагинов
Плагин – это JavaScript-код, который выполняется в изолированном окружении. В коде можно использовать комментарии @name, @version, @description, @author для автоматического распознавания метаданных. Также можно объявить настраиваемые параметры через @settings [...] (JSON массив).

Пример простого плагина
javascript
/**
 * @name Мой плагин
 * @version 1.0.0
 * @description Добавляет кнопку приветствия
 * @author Ivan
 */
(function(api) {
    api.showNotification('Плагин загружен', 'success');
    api.addMenuItem('greeting', 'fas fa-smile', 'Привет');
    api.addPage('greeting', '<h2>Привет, мир!</h2>');
})(pluginAPI);
API, доступное плагину
Метод	Описание
showNotification(message, type)	Показать уведомление (success, error, info).
getSettings()	Получить текущие настройки плагина.
saveSettings(settings)	Сохранить настройки плагина.
addMenuItem(id, icon, label)	Добавить пункт в боковое меню.
removeMenuItem(id)	Удалить пункт меню.
addPage(id, htmlContent)	Создать новую страницу.
removePage(id)	Удалить страницу.
updatePageContent(id, htmlContent)	Обновить содержимое страницы.
navigateTo(pageId)	Переключиться на указанную страницу.
getStorePlugins()	Получить список плагинов из магазина.
installFromStore(pluginId)	Установить плагин из магазина по ID.
checkForUpdates()	Проверить обновления для установленных плагинов.
Настраиваемые параметры
В коде плагина можно определить блок @settings:

javascript
/**
 * @settings [
 *   {
 *     "id": "apiKey",
 *     "label": "API ключ",
 *     "type": "text",
 *     "placeholder": "Введите ключ",
 *     "default": ""
 *   },
 *   {
 *     "id": "darkMode",
 *     "label": "Тёмный режим",
 *     "type": "switch",
 *     "default": false
 *   }
 * ]
 */
Эти параметры автоматически появятся в интерфейсе настроек плагина.

Лицензия
Проект распространяется под лицензией MIT. Вы можете свободно использовать, изменять и распространять код.

Разработчик: MediaMatrix Team
Контакты: mediamatrix.helpdesk@mail.ru
Версия: 2.3.8

About

Media center audio video

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors