]> git.wh0rd.org - tt-rss.git/blob - lib/dijit/themes/claro/compile.js
upgrade Dojo to 1.6.1
[tt-rss.git] / lib / dijit / themes / claro / compile.js
1 /*
2 Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
5 */
6
7
8 // Script to process all the less files and convert them to CSS files
9 // Run from themes/dijit/claro like:
10 //
11 // $ node compile.js
12
13 // Some guesses for where to find less
14 require.paths.unshift('/opt/less/lib', 'C:/less/lib');
15
16 var fs = require('fs'), // file system access
17 path = require('path'), // get directory from file name
18 less = require('less'); // less processor
19
20 var options = {
21 compress: false,
22 optimization: 1,
23 silent: false
24 };
25
26 var allFiles = [].concat(
27 fs.readdirSync("."),
28 fs.readdirSync("form").map(function(fname){ return "form/"+fname; }),
29 fs.readdirSync("layout").map(function(fname){ return "layout/"+fname; })
30 ),
31 lessFiles = allFiles.filter(function(name){ return name && name != "variables.less" && /\.less$/.test(name); });
32
33 lessFiles.forEach(function(fname){
34 console.log("=== " + fname);
35 fs.readFile(fname, 'utf-8', function (e, data){
36 if(e){
37 console.error("lessc: " + e.message);
38 process.exit(1);
39 }
40
41 new(less.Parser)({
42 paths: [path.dirname(fname)],
43 optimization: options.optimization,
44 filename: fname
45 }).parse(data, function(err, tree){
46 if(err){
47 less.writeError(err, options);
48 process.exit(1);
49 }else{
50 try{
51 var css = tree.toCSS({ compress: options.compress }),
52 outputFname = fname.replace('.less', '.css');
53 fd = fs.openSync(outputFname, "w");
54 fs.writeSync(fd, css, 0, "utf8");
55 }catch(e){
56 less.writeError(e, options);
57 process.exit(2);
58 }
59 }
60 });
61 });
62 });