rtl.js
2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var fs = require('fs');
function aceRTL(compile_less) {
var files = [
'bootstrap.css',
'ace.css',
'ace-skins.css'
];
var content = '';
for(var f = 0; f < files.length; f++) {
content += fs.readFileSync(__dirname+'/../assets/css/' + files[f] , 'utf-8');
}
var rtl_func_file = __dirname+'/files/ace-rtl.js';
var code = fs.readFileSync(rtl_func_file , 'utf-8');
var vm = require('vm');
vm.runInThisContext(code, rtl_func_file);
var rtl_output = makeRTL(content);
if(compile_less === false) {
fs.writeFileSync(__dirname+'/../assets/css/ace-rtl.css' , rtl_output , 'utf-8');
}
else {
var arg = require('argh').argv;//read & parse arguements
var less = require('less');
var parser = new(less.Parser)({
paths: [__dirname+'/../assets/css/less'], // Specify search paths for @import directives
//filename: '../assets/css/less/ace-rtl2.less' // Specify a filename, for better error messages
});
parser.parse(fs.readFileSync(__dirname+'/../assets/css/less/ace-rtl.less' , 'utf-8'), function (e, tree) {
if(e) {
console.log(e);
return;
}
rtl_output = rtl_output + "\n" + tree.toCSS();
/**if(arg['strip-media']) {
var strip_func_file = __dirname+'/files/css-strip-media.js';
var code = fs.readFileSync(strip_func_file , 'utf-8');
var vm = require('vm');
vm.runInThisContext(code, strip_func_file);
rtl_output = remove_media_queries(rtl_output, 900);//keep `min-width` media queries which are >= 900px
}*/
fs.writeFileSync(__dirname+'/../assets/css/ace-rtl.css' , rtl_output , 'utf-8');
});
}
}
if(process.argv[1].match(/rtl\.js$/)) aceRTL(true);//if "node rtl.js" invoked
//this is used for grunt
if(typeof module !== 'undefined') {
module.exports = function generateRTL(grunt) {
aceRTL(false);
var rtl_output =
fs.readFileSync(__dirname+'/../assets/css/ace-rtl.css' , 'utf-8')
+ "\n"
+ fs.readFileSync(__dirname+'/../assets/css/ace-rtl.less.css' , 'utf-8');//generated in grunt less
fs.writeFileSync(__dirname+'/../assets/css/ace-rtl.css' , rtl_output , 'utf-8');
fs.unlinkSync(__dirname+'/../assets/css/ace-rtl.less.css');
grunt.log.writeln('RTL File ace-rtl.css created.');
}
}