Dumkaaa / BxOptimize

Bitrix CMS library for optimize and compression of images, css, js, etc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BxOptimize

Библиотека под 1C-Битрикс для оптимизации и сжатия картинок, стилей, скриптов прочей статики.

Latest Stable Version Latest Unstable Version PHP version Dependency Status

Позволяет сжимать и оптимизировать размер файлов картинок (png, jpg, gif, webp), стилей (css) и скриптов (js).

При этом оригинальные файлы сохраняются рядом с измененным в виде file.png > file.png.original для возможности восстановления.

Установка

composer require dumkaaa/bxoptimize
composer run-script post-install-cmd -d ./vendor/dumkaaa/bxoptimize

Базовое использование

  • Запуск из PHP

    $path = 'path/to/dir'; // пусть к папке для поиска файлов (обязательный)
    $finder = new \Dumkaaa\BxOptimize\Finder\FilesFinder($path);
    
    $handlers = [ //массив обработчиков (необязательный, по умолчанию - все)
        'image',
        'css',
    ]; 
    $handler = new \Dumkaaa\BxOptimize\Handler\HandlerProcessor($handlers);
    
    $optimizer = new \Dumkaaa\BxOptimize\Optimizer($finder, $handler);
    $optimizer->optimize();
  • Запуск из консоли

    php path/to/vendor/bin/bxoptimize bxoptimize:optimize path/to/dir [<image css js>]

    Параметры: path/to/dir - пусть к папке для поиска файлов (обязательный) [<images css js>] - массив обработчиков (необязательный, по умолчанию - все)

  • Запуск из cli

    • В файл cli.php добавить строку:

      $application->add(new \Dumkaaa\BxOptimize\Cli\SymfonyOptimize());
    • Запуск:

      php cli.php bxoptimize:optimize path/to/dir [<image css js>]

Расширенное использование

Можно подключать свои обработчики или заменять стандартные. При этом класс обработчика должен наследоваться от Dumkaaa\BxOptimize\Handler\Handler или реализовывать интерфейс Dumkaaa\BxOptimize\Handler\HandlerInterface.

Кастомные обработчики должны быть добавлены в массив обработчиков ($handlers) перед запуском или вызовом метода addHandler($key, $classname, $replace = false) класса Dumkaaa\BxOptimize\Handler\HandlerProcessor

    $handler->addHandler('css', '\\My\\Custom\\Handler\\CssHandler');

Badges

Scrutinizer Code Quality StyleCI Code Climate Issue Count

Build Status Code Coverage

License PHPPackages Rank

composer.lock

About

Bitrix CMS library for optimize and compression of images, css, js, etc

License:MIT License


Languages

Language:PHP 100.0%