Exemple #1
0
 /**
  * Create a css file from one or more scss files
  *
  */
 public static function ParseScss(&$scss_files)
 {
     global $dataDir;
     $compiler = new \Leafo\ScssPhp\Compiler();
     $compiled = false;
     $combined = array();
     //add variables for url paths
     $combined[] = '$icon-font-path: "../../include/thirdparty/Bootstrap3/fonts/";';
     try {
         foreach ($scss_files as $file) {
             //treat as scss markup if there are newline characters
             if (strpos($file, "\n") !== false) {
                 $combined[] = $file;
                 continue;
             }
             // handle relative and absolute paths
             if (!empty($dataDir) && strpos($file, $dataDir) === false) {
                 $file = $dataDir . '/' . ltrim($file, '/');
             }
             $combined[] = '@import "' . $file . '";';
         }
         $compiler->addImportPath($dataDir);
         $compiled = $compiler->compile(implode("\n", $combined));
     } catch (\Exception $e) {
         if (\gp\tool::LoggedIn()) {
             msg('SCSS Compile Failed: ' . $e->getMessage());
         }
         return false;
     }
     $scss_files = $compiler->allParsedFiles();
     $scss_files = array_keys($scss_files);
     return $compiled;
 }