5 $cc = explode('/', $cwd);
6 if (array_pop($cc) !== 'roojs1') {
7 echo "this should be run in roojs1 directory...\n";
11 ini_set('include_path',
12 dirname(__FILE__) . '/../:' .
13 dirname(__FILE__) . '/../../pear:' .
14 ini_get('include_path')
17 $rootDir = dirname(__FILE__) . '/../..';
20 "bootstrap.scss" => array(
21 "scssDir" => "{$rootDir}/roojs1/scss/bootstrap",
22 'baseDir' => "{$rootDir}/roojs1/css-bootstrap4",
23 'name' => 'bootstrap.css',
24 'minify' => 'bootstrap.min.css',
25 'sourceMapRootpath' => '../scss/bootstrap/',
26 'variables' => "@import 'variables';"
29 "roojs-bootstrap.scss" => array(
30 "scssDir" => "{$rootDir}/roojs1/scss/roojs-bootstrap",
31 'baseDir' => "{$rootDir}/roojs1/css-bootstrap4",
32 'name' => 'roojs-bootstrap-debug.css',
33 'minify' => 'roojs-bootstrap.css',
34 'sourceMapRootpath' => '../scss/roojs-bootstrap/',
35 'variables' => "@import '../bootstrap/variables';"
40 foreach ($files as $src => $file){
42 $css = "{$file['baseDir']}/{$file['name']}";
44 if(!file_exists($css)){
48 $dir = "{$file['baseDir']}/{$file['sourceMapRootpath']}";
50 $variable = "{$dir}variables.less";
52 if(file_exists($variable) && filemtime("{$dir}variables.less") > filemtime($css)){
58 foreach(scandir($dir) as $f) {
60 if (!strlen($f) || $f[0] == '.') {
66 if(filemtime($less) > filemtime($css)){
73 echo "{$css} already up-to-date \n";
79 require_once 'HTML/Scss.php';
81 foreach ($files as $src => $file){
83 if(!file_exists($file['scssDir'].'/'. $src)){
84 echo "{$file['scssDir']}/{$src} does not exist...\n";
90 $scss = new HTML_Scss();
92 $scss->setSourceMap(HTML_Scss::SOURCE_MAP_FILE);
93 $scss->setSourceMapOptions(array(
94 'sourceRoot' => $file['sourceMapRootpath'],
96 // an optional name of the generated code that this source map is associated with.
97 'sourceMapFilename' => "{$file['baseDir']}/{$file['name']}.map",
100 'sourceMapURL' => "{$file['name']}.map",
102 // absolute path to a file to write the map to
103 'sourceMapWriteTo' => "{$file['baseDir']}/{$file['name']}.map",
105 // output source contents?
106 'outputSourceFiles' => false,
108 // base path for filename normalization
109 'sourceMapRootpath' => '',
111 // base path for filename normalization
112 'sourceMapBasepath' => ''
117 $css = "{$file['baseDir']}/{$file['name']}";
119 echo "Compiling - {$src} To {$css}\n";
121 $scss->setImportPaths($file['scssDir']);
122 $scss->setFormatter('Expanded');
124 file_put_contents($css, $scss->compile("{$file['variables']}\n@import \"{$src}\";"));
127 $min = "{$file['baseDir']}/{$file['minify']}";
131 echo "Minifing - {$src} To {$min}\n";
133 $scss->setFormatter('Crunched');
135 file_put_contents($min, $scss->compile("{$file['variables']}\n@import \"{$src}\";") );
136 } catch (Exception $ex) {
137 echo "scss fatal error: {$ex->getMessage()}\n";