示例#1
0
 public static function compile_assets()
 {
     foreach (self::$preprocessors as $preprocessor) {
         foreach ($preprocessor->supported_extensions() as $extension) {
             $list_files = self::recursive_glob(self::theme_assets_path(), "*.{$extension}");
             foreach ($list_files as $file_path) {
                 // Ignore partials
                 if (!preg_match("/^_/", basename($file_path))) {
                     $compiled_file_path = str_replace(Wordless::theme_assets_path(), '', $file_path);
                     $compiled_file_path = Wordless::join_paths(Wordless::theme_static_assets_path(), $compiled_file_path);
                     $compiled_file_path = preg_replace("/\\." . $extension . "\$/", "." . $preprocessor->to_extension(), $compiled_file_path);
                     try {
                         $to_process_file_path = preg_replace("/\\." . $extension . "\$/", "", $file_path);
                         $compiled_content = $preprocessor->process_file_with_caching($to_process_file_path, Wordless::theme_temp_path());
                     } catch (WordlessCompileException $e) {
                         echo "Problems compiling {$file_path} to {$compiled_file_path}\n\n";
                         echo $e;
                         echo "\n\n";
                     }
                     file_put_contents($compiled_file_path, $compiled_content);
                 }
             }
         }
     }
 }