]> git.wh0rd.org - tt-rss.git/blob - lib/dijit/themes/claro/compile.js
update dojo to 1.7.3
[tt-rss.git] / lib / dijit / themes / claro / compile.js
1 // Script to process all the less files and convert them to CSS files
2 // Run from themes/dijit/claro like:
3 //
4 // $ node compile.js
5
6 var fs = require('fs'), // file system access
7 path = require('path'), // get directory from file name
8 less = require('../../../util/less'); // less processor
9
10 var options = {
11 compress: false,
12 optimization: 1,
13 silent: false
14 };
15
16 var allFiles = [].concat(
17 fs.readdirSync("."),
18 fs.readdirSync("form").map(function(fname){ return "form/"+fname; }),
19 fs.readdirSync("layout").map(function(fname){ return "layout/"+fname; })
20 ),
21 lessFiles = allFiles.filter(function(name){ return name && name != "variables.less" && /\.less$/.test(name); });
22
23 lessFiles.forEach(function(fname){
24 console.log("=== " + fname);
25 fs.readFile(fname, 'utf-8', function(e, data){
26 if(e){
27 console.error("lessc: " + e.message);
28 process.exit(1);
29 }
30
31 new(less.Parser)({
32 paths: [path.dirname(fname)],
33 optimization: options.optimization,
34 filename: fname
35 }).parse(data, function(err, tree){
36 if(err){
37 less.writeError(err, options);
38 process.exit(1);
39 }else{
40 try{
41 var css = tree.toCSS({ compress: options.compress }),
42 outputFname = fname.replace('.less', '.css');
43 var fd = fs.openSync(outputFname, "w");
44 fs.writeSync(fd, css, 0, "utf8");
45 }catch(e){
46 less.writeError(e, options);
47 process.exit(2);
48 }
49 }
50 });
51 });
52 });