egret-docs-master/yjtx-tools/checkPaths.js

91 lines
2.4 KiB
JavaScript

/**
* 将TypeScript和EXML编译为JavaScript
*/
var path = require("path");
var file = require("./file.js");
var params = require("./params_analyze.js");
var titleStr = "";
var linkArr = {};
var configNames = {
"DB" : "DragonBones Pro"
}
function run(opts) {
titleStr += "# 目录" + "\n\n";
var titlesInfo = JSON.parse(file.read(path.join('../config/index.json')));
var titleList = [];
for (var i = 0; i < titlesInfo.length; i++) {
for (var j = 0; j < titlesInfo[i]["children"].length; j++) {
var title = titlesInfo[i]["children"][j];
if (title['in_use'] == 'true') {
titleList.push({'name': title['des'], "url" : title['filename']});
}
}
}
for (var i = 0; i < titleList.length; i++) {
var fileName = titleList[i]['name']
titleStr += "## " + fileName + "\n\n";
// console.log(titleList[i]['url'])
ans(JSON.parse(file.read(path.join('../config/', titleList[i]['url']))), [fileName]);
}
}
function ans(configList, parentList) {
for (var i = 0; i < configList.length; i++) {
var config = configList[i];
if (config.in_use == false) {
continue;
}
if (config.children) {
titleStr += "##";
for (var ii = 0; ii < parentList.length; ii++) {
titleStr += "##";
}
titleStr += " " + config.text + "\n\n";
ans(config.children, parentList.concat(config.text));
}
else {
var url = config.filename.substring(1) + 'README.md';
titleStr += '* [' + config.text + '](' + url + ')\n\n';
var filep = path.join('../' + config.filename.substring(1)) + 'README.md';
var fileContent = file.read(filep);
// console.log(filep)
if (!file.exists(filep)) {
console.log(filep)
}
}
}
}
function addLink(link, parentList, mdName, mdUrl) {
var arr = linkArr;
for (var i = 0; i < parentList.length; i++) {
if (arr[parentList[i]] == null) {
arr[parentList[i]] = {};
}
arr = arr[parentList[i]];
}
if (arr[mdName] == null) {
arr[mdName] = {'url' : mdUrl, 'list': []};
}
arr[mdName]['list'].push(link);
}
var option = params.getArgv();
run(option.opts);