А у нас новый сайт ----------------> www.ph-ph.ru!
Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Bootstrap-Less-Onthefly-Compile

Задача

Сделать механизм компиляции less в css для внедрения на сайт.

Реализация

Для реализации нам понадобятся два php файла:

lessc.php - файл компилятора. Скачать его можно здесь leafo.net/lessphp/ , при написании использовалась версия v0.3.9
less2css.php - файл-связка для запуска компилятора. Он содержит следующий код:

<?php

$lessPath = $_POST['lessPath'];
$cssPath = $_POST['cssPath'];

// Если файлу переданы оба пути
if ( !empty($lessPath) && !empty($cssPath) ) {
    require_once "lessc.php";  // подключаем файл компилятора
    $less = new lessc;  // создаем объект
    $less->setFormatter("compressed");  // устанавливаем форматирование на "сжатое"
    $less->setImportDir("../");  // устанавливаем директорию для поиска файлов из директивы @import (ускоряет процесс)
    $less->checkedCompile($lessPath, $cssPath);  // компилируем файл
    echo "Готово";  // Ура!
}
?>

Оба файла помещаются в директорию /!phph-pack/php/ (в дальнейшем наверное можно сделать их частью phph-пака)

В макете дизайна, в том месте, где будет вывод кнопки для компиляции, нужно поместить следующий код формы:

<form method='post' action='/images/!phph-pack/php/less2css.php' target='_blank'>
  <input type='hidden' name='lessPath' value='../phph-layout.less'>
  <input type='hidden' name='cssPath' value='../css/phph-layout.css'>
  <button type='submit' class='btn'>Скомпилировать less</button>
</form>

Обертка и верстка - по вкусу.

Поля формы:
lessPath - путь до исходного файла less, который нужно скомпилировать
cssPath - путь до конечного файла css

форма ведет на файл связку less2css.php
файл-связка принимает данные формы и инициализирует запуск компилятора lessc.php

Для успешной компиляции, директория, в которую будет компилироваться файл, должна быть доступна для записи.
В нашем случае это /!phph-pack/css/

Оставить комментарий 


Ваше имя:
->