]> git.wh0rd.org - tt-rss.git/blame - lib/dijit/themes/claro/compile.js
remove call-by-reference to comply with php 5.4
[tt-rss.git] / lib / dijit / themes / claro / compile.js
CommitLineData
81bea17a
AD
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
14require.paths.unshift('/opt/less/lib', 'C:/less/lib');
15
16var fs = require('fs'), // file system access
17 path = require('path'), // get directory from file name
18 less = require('less'); // less processor
19
20var options = {
21 compress: false,
22 optimization: 1,
23 silent: false
24};
25
26var 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
33lessFiles.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});