Skip to content

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

License

Notifications You must be signed in to change notification settings

Dumkaaa/BxOptimize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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