solo-third-skins/helper/tools/get-static.js
2012-09-06 17:27:22 +08:00

45 lines
1.2 KiB
JavaScript

var fs = require('fs'),
path = require('path');
var getAllFiles = function (root){
var res = [],
files = fs.readdirSync(root);
files.forEach(function(file){
var pathname = root+'/'+file,
stat = fs.lstatSync(pathname);
if (!stat.isDirectory()){
if (file.indexOf(".ftl") < 0 && file.indexOf(".properties") < 0
&& root.indexOf("../../helper") < 0 && root.indexOf("../../.git") < 0) {
res.push(pathname);
}
} else {
res = res.concat(getAllFiles(pathname));
}
});
return res;
};
var mkdirsSync = function(dirpath) {
if(fs.existsSync(dirpath)){
return;
}
var dirs = dirpath.split('/');
var dir = '';
for(var i = 0; i < dirs.length; i++) {
dir += dirs[i] + '/';
if(!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
}
};
var skins = getAllFiles("../..");
(function () {
mkdirsSync("static");
for (var i = 0; i < skins.length; i++) {
mkdirsSync(path.dirname(skins[i].replace("../..", "static/skins")));
fs.writeFileSync(skins[i].replace("../..", "static/skins"), fs.readFileSync(skins[i]), "UTF-8");
}
})();