Использование LESS в Joomla
Так же как javascript подключать css в joomla лучше через JHtml. Это даёт возможность упростить обработку подключаемых стилей плагинами. Об одном из таких плагинов я и хочу написать.
До не давнего времени я как то не смотрел в сторону препроцессоров css. И вот посмотрел:) Собственно я выбрал LESS из-за того, что его можно подключать в качестве js библиотеки на сайт. Не охота, чтобы ещё какая-то программа висела в памяти и компилировала на лету. Это свойство LESS я и использовал в https://github.com/VampiRUS/joomla-plg-system-less.
Плагин в debug режиме подключает LESS, указанной в настройках плагина версии. А подключаемые css заменяет на less версии, если таковые имеются. Опять же всё происходит незаметно. При разработке — LESS, а на рабочем сервере — css. Естественно файлы нужно перед этим скомпилировать. Этим у меня powershell занимается.
$path = ""
if ([string]::IsNullOrEmpty($arg)){
$path = Get-Location
$path = $path.toString()+""
} else {
$path = $arg
}
$less = Get-ChildItem $path -Filter *.less|Foreach-Object {$_.Name}
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
foreach($file in $less){
$css = $file -replace ".less",".css"
$pack = &"lessc" -x $path$file
$to = $path+$css
[System.IO.File]::WriteAllLines($to, $pack ,$Utf8NoBomEncoding)
}
}