function _less_less_php in Less CSS Preprocessor 7.3
Processes files using 'oyejorge/less.php'.
1 call to _less_less_php()
- _less_process_file in ./
less.process.inc - @file Contains functions related to compiling .less files.
File
- engines/
less.less_php.inc, line 12 - Libraries integration file for 'less.php' library.
Code
function _less_less_php($input_file, $less_settings) {
$output_data = NULL;
$error = NULL;
$parser = new Less_Parser();
$parser
->ModifyVars($less_settings['variables']);
$import_dirs = array();
// Less.js does not allow path aliasing. Set aliases to blank for consistency.
foreach ($less_settings['paths'] as $path) {
$import_dirs[$path] = '';
}
$parser
->SetImportDirs($import_dirs);
// Try to capture errors.
try {
if ($less_settings['less_devel']) {
$parser
->SetOption('sourceMap', TRUE);
// $parser->SetOption('outputSourceFiles', TRUE); // Might not need this.
$parser
->SetOption('sourceMapRootpath', '/');
// @link https://github.com/oyejorge/less.php/issues/127
$parser
->SetOption('sourceMapBasepath', DRUPAL_ROOT);
// @link https://github.com/oyejorge/less.php/issues/127
}
$parser
->parseFile($input_file);
$output_data = $parser
->getCss();
// Dependencies list is not populated until after Less_Parser::getCss().
if ($less_settings['less_devel']) {
$dependencies = $parser
->AllParsedFiles();
_less_cache_dependencies($input_file, $dependencies);
}
} catch (Exception $e) {
$error = $e
->getMessage();
}
return array(
$output_data,
$error,
);
}