Source of file LessCompiler.php
Size: 1,654 Bytes - Last Modified: 2021-12-23T10:51:07+00:00
/var/www/docs.ssmods.com/process/src/code/LessCompiler.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | <?php /** * LESS CSS compiler for SilverStripe * =================================== * * Extension to add Less CSS compiling to SilverStripe * * Usage: See README.md * * License: MIT-style license http://opensource.org/licenses/MIT * Authors: Techno Joy development team (www.technojoy.co.nz), tardinha@gmail.com */ class LessCompiler extends Requirements_Backend { public function css($file, $media = null) { /* If file is CSS, check if there is a LESS file */ if (preg_match('/\.css$/i', $file)) { $less = preg_replace('/\.css$/i', '.less', $file); if (is_file(Director::getAbsFile($less))) { $file = $less; } } /* If less file, then check/compile it */ if (preg_match('/\.less$/i', $file)) { $compiler = 'checkedCompile'; $out = preg_replace('/\.less$/i', '.css', $file); /* Force recompile if ?flush */ if (isset($_GET['flush'])) { $compiler = 'compileFile'; } /* Create instance */ $less = new lessc; /* Automatically compress if in live mode */ if (DIRECTOR::isLive()) { $less->setFormatter("compressed"); } try { $less->$compiler(Director::getAbsFile($file), Director::getAbsFile($out)); } catch (Exception $ex) { trigger_error("lessphp fatal error: " . $ex->getMessage(), E_USER_ERROR); } $file = $out; } /* Return css path */ return parent::css($file, $media); } } |