Использование 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 занимается.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function pack-less($arg){ $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) } } |