Skip to content

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages