Sber Media Player
This content is not available in your language yet.
Данный файл содержит общее описание плагина. Более подробная информация находится в директории docs
Описание плагина
Заголовок раздела «Описание плагина»Sber Media Player — это медиа плеер позволяющий выводить видео и аудио, для вывода используется PlayerJS.
Основные функции:
- Вывод видео и аудио
- Генерация миниатюры из видео
- Вывод для видео субтитров и глав.
- Конвертация видео в mp4 с возможностью выбора различного качества
- Конвертация видео в формат HLS с возможностью выбора различного качества
Запуск проекта
Заголовок раздела «Запуск проекта»Проект представляет собой WordPress плагин. Для правильной работы плагина требуются
- PHP 8.2+
- WordPress 6+
- ACF Pro 6+
Dev запуск
Заголовок раздела «Dev запуск»Для установки PHP зависимостей нужно запустить composer i в корне проекта. Для установки фронтенд зависимостей npm i в директории assets.
Фронтенд можно собрать в dev режиме с помощью npm run build:dev. С помощью npm run dev можно запустить watch сервер с автопересборкой файлов
Prod запуск
Заголовок раздела «Prod запуск»Для сборки проекта для продакшена есть /bin/zip.sh скрипт. Он установит prod зависимости composer и npm, уберет все лишние файлы и создаст zip архив плагина для дальнейшей установки
Конфигурация в админке
Заголовок раздела «Конфигурация в админке»Есть возможность задать общие настройки на странице настроек (/wp-admin/edit.php?post_type=&page=)
Описание файлов
Заголовок раздела «Описание файлов»Основные PHP файлы (папка src)
Заголовок раздела «Основные PHP файлы (папка src)»Директория src содержит ключевые PHP-файлы, реализующие логику плагина,
Основные файлы и директории
Заголовок раздела «Основные файлы и директории»Директория ACF
Заголовок раздела «Директория ACF»Директория Ajax
Заголовок раздела «Директория Ajax»- FrameMiniatures.php: AJAX обработчик для запуска генерации миниатюр кадра.
- SkinUpload.php: AJAX обработчик для загрузки скинов PlayerJS.
Директория Elementor
Заголовок раздела «Директория Elementor»- Main.php: доработка фронтенд конфигов в сборке
Директория Entities
Заголовок раздела «Директория Entities»Все основные сущности для сборки курсов
Директория PluginBase
Заголовок раздела «Директория PluginBase»Стандартный набор классов для работы плагина
Директория WordPressCore
Заголовок раздела «Директория WordPressCore»Фронтенд ресурсы (папка assets)
Заголовок раздела «Фронтенд ресурсы (папка assets)»Директория assets содержит все необходимые ресурсы для фронтенд-части плагина, включая стили, скрипты и изображения, которые обеспечивают интерфейс и визуальное оформление курса
Директория src
Заголовок раздела «Директория src»- js: Основные JavaScript-файлы, организованные по функциям и модулям.
- meta_boxes:
- src: Главные функциональные скрипты для фронтенда.
- utils: Вспомогательные утилиты
- scss: Стили для фронтенда
- webpack - Конфигурации и модули для Webpack, инструмента сборки JavaScript.
- Parts/BasicPart.js - здесь находится список всех собираемых js файлов
Служебные скрипты (папка bin)
Заголовок раздела «Служебные скрипты (папка bin)»- phpcs.sh - Скрипт для запуска PHP_CodeSniffer для проверки стандартов кода. Запускается с помощью composer
- zip.sh - Скрипт для упаковки проекта в ZIP-архив. Можно запустить с помощью composer, но лучше запускать напрямую
Статический анализ PHPcs и Rector
Заголовок раздела «Статический анализ PHPcs и Rector»Анализ кода производится автоматически с помощью PHP библиотек PHPcs, Rector и Psalm. Для упрощения запуска в composer.json добавлены скрипты. Скрипт для запуска всех линтеров code:fix
Проверяет стиль написания кода на соответствие стандартам WordPress с частичными послаблениями описанными в файле ruleset.xml
- phpcs - вывод краткой информации об ошибках
- phpcs:full - вывод подробной информации об ошибках
- phpcs:fix - автоматическое исправление ошибок
Проверяет логику кода и производит автоматический рефакторинг кода. Конфигурация библиотеки находится в файле rector.php
- rector:dry - вывод информации об ошибках
- rector:fix - авто исправление ошибок
Templates
Заголовок раздела «Templates»Все шаблоны страниц и компонентов находятся в этой директории. Для их рендера можно воспользоваться функциями в главном файле плагина
Директория с авто тестами на основе PHPUnit, но unit и интеграционных тестов недостаточно для полноценной проверки плагина. Нужны e2e тесты на основе Cypress (или аналога)
Перевод плагина
Заголовок раздела «Перевод плагина»Все строки в плагине пишутся на английском языке с применением языковых WP функций (codex). В js коде для перевода нужно использовать i18n.js библиотеку, например wp.i18n.__('Copy id', 'sber-media-player'), важно использовать полный путь до функции перевода, чтобы она не была минимизирована webpack’ом и могла быть считана при подготовке перевода. Домен перевода соответствует имени плагина sber-media-player.
Composer скрипты для генерации файлов перевода:
- make-pot - генерация шаблонного файла перевода
- update-po - обновление всех файлов перевода на основе pot файла. После вызова этого скрипта нужно открыть все обновленные po файлы и проверить, что все строки переведены
- make-mo - генерация mo файлов на основе po файлов
- make-mo-json - генерация json файлов для перевода js кода
languages - Папка с файлами локализации, включающая .mo, .po, и .pot файлы для поддержки перевода и работы с различными языковыми версиями.