Компилятор LESS/SASS/SCSS в css файлы

3

Разработчик: Олег Максименко

Установлено: Более 1000

Обновлено: 27.11.2017

Адаптирован под мобильные устройства

Совместим с редакциями Битрикс: «Первый сайт» / «Старт» / «Стандарт» / «Малый бизнес» / «Бизнес» /

Модуль добавляет в 1С-Битрикс возможность работы с препроцессорами CSS.
В модуле предусмотрена поддержка расширения любыми препроцессорами.
После установки модуля из Marketplace в системе будет доступен компонент olegpro:olegpro.csscompiler. Его нужно подключить в header.php шаблона сайта и настроить.

Пример вызова компонента:

<?$APPLICATION->IncludeComponent(
    "olegpro:olegpro.csscompiler",
    "",
    array(
        "PATH" => "/bitrix/templates/eshop_adapt_blue/scss/", // Путь к папке с файлами, которые нужно компилировать
        "FILES" => array( // Список файлов для компиляции
            0 => "style.scss",
        ),
        "PATH_CSS" => "/bitrix/templates/eshop_adapt_blue/", // Путь к папке, куда складывать скомпилированный css
        "CLASS_HANDLER" => "\\Olegpro\\Csscompiler\\SCSSCompiler", // PHP класс-обработчик, наследуемый от класса \Olegpro\Csscompiler\Compiler(должен реализовывать метод toCss)
        "USE_SETADDITIONALCSS" => "Y", // Подключать скомпилированный css файл через CMain::SetAdditionalCSS()?
        "REMOVE_OLD_CSS_FILES" => "Y", // Удалять старые скомпилированные css файлы?
        "TARGET_FILE_MASK" => "styles_%s.css" // Маска файла для записи css файла. (%s обязателен, он заменится на таймштамп файла)
    ),
    false,
    array(
        "HIDE_ICONS" => "Y"
    )
);?>
 


Чтобы реализовать компиляцию любым другим препроцессором, нужно написать класс, например, LessCompiler(пример класс SCSSCompiler). Унаследовать его от класса \Olegpro\Csscompiler\Compiler, реализовать в нем метод toCss($file) и сохранить в папке lib модуля olegpro.csscompiler под одноименным названием, в нижнем регистре. И в вызове компонента параметром CLASS_HANDLER указать \Olegpro\Csscompiler\LessCompiler.
Модуль тех.поддержки не предусматривает. Пожелания или ошибки можно слать сюда. По остальным вопросам обращайтесь на сайт.