blob: a9e0b78bd69045e511564d9d57472d45c37ab1a5 [file] [log] [blame]
var md2json = require('./tool/md2json');
var fs = require('fs');
var marked = require('marked');
var copydir = require('copy-dir');
var languages = ['cn', 'en'];
var configName = './config' + (process.argv[2] || '');
var config = require(configName);
config.gl = config.gl || {};
for (var key in config) {
if (key !== 'gl' && !config.gl.hasOwnProperty(key)) {
config.gl[key] = config[key];
}
}
languages.forEach(function (language) {
if (!fs.existsSync('public/' + language + '/documents/' + language)) {
fs.mkdirSync('public/' + language + '/documents/' + language);
}
md2json({
path: language + '/option/**/*.md',
sectionsAnyOf: ['visualMap', 'dataZoom', 'series', 'graphic.elements'],
entry: 'option',
tplEnv: config,
imageRoot: config.imagePath
},
function (optionSchema) {
fs.writeFileSync(
'public/' + language + '/documents/' + language + '/option.json',
JSON.stringify(optionSchema, null, 2),
'utf-8'
);
}
);
md2json({
path: language + '/tutorial/**/*.md',
entry: 'tutorial',
tplEnv: config,
maxDepth: 1,
imageRoot: config.imagePath
},
function (tutorialSchema) {
fs.writeFileSync(
'public/' + language + '/documents/' + language + '/tutorial.json',
JSON.stringify(tutorialSchema, null, 2),
'utf-8'
);
}
);
md2json({
path: language + '/api/**/*.md',
entry: 'api',
tplEnv: config,
imageRoot: config.imagePath
},
function (apiSchema) {
fs.writeFileSync(
'public/' + language + '/documents/' + language + '/api.json',
JSON.stringify(apiSchema, null, 2),
'utf-8'
);
}
);
md2json({
path: language + '/option-gl/**/*.md',
sectionsAnyOf: ['series'],
entry: 'option-gl',
tplEnv: config.gl,
imageRoot: config.gl.imagePath
},
function (apiSchema) {
fs.writeFileSync(
'public/' + language + '/documents/' + language + '/option-gl.json',
JSON.stringify(apiSchema, null, 2),
'utf-8'
);
}
);
fs.writeFileSync(
'public/' + language + '/documents/' + language + '/changelog.html',
marked(fs.readFileSync(language + '/changelog.md', 'utf-8')),
'utf-8'
);
});
copydir.sync('./asset', './public/cn/documents/asset');
copydir.sync('./asset', './public/en/documents/asset');