51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
/**
|
|
* @file 编译首页文件,编译为中文版和英文版
|
|
* @author mengke01(kekee000@gmail.com)
|
|
*/
|
|
var fs = require('fs');
|
|
var path = require('path');
|
|
|
|
/**
|
|
* 字符串格式化,支持如 ${xxx.xxx} 的语法
|
|
* @param {string} source 模板字符串
|
|
* @param {Object} data 数据
|
|
* @return {string} 格式化后字符串
|
|
*/
|
|
function format(source, data) {
|
|
return source.replace(/\$\{([\w.]+)\}/g, function ($0, $1) {
|
|
var ref = $1.split('.');
|
|
var refObject = data;
|
|
var level;
|
|
|
|
while (refObject != null && (level = ref.shift())) {
|
|
refObject = refObject[level];
|
|
}
|
|
|
|
return refObject != null ? refObject : '';
|
|
});
|
|
}
|
|
|
|
|
|
/**
|
|
* 入口
|
|
*/
|
|
function main(version) {
|
|
var baseDir = path.dirname(__dirname);
|
|
var tpl = String(fs.readFileSync(baseDir + '/index.tpl'));
|
|
tpl = tpl.replace(/\s+/g, ' ');
|
|
|
|
|
|
|
|
var i18n = {};
|
|
i18n.lang = require('./i18n.zh-cn');
|
|
var fileContent = format(tpl, i18n);
|
|
fs.writeFileSync(baseDir + '/index.html', fileContent);
|
|
|
|
|
|
i18n.lang = require('./i18n.en-us');
|
|
fileContent = format(tpl, i18n);
|
|
fs.writeFileSync(baseDir + '/index-en.html', fileContent);
|
|
}
|
|
|
|
main.apply(null, process.argv.slice(2));
|