📄 jsdoc.js
字号:
function JSDoc() {this.rootInfo = PackageInfo.require("");var packages = this.collectPackages(Array.apply(null, arguments));this.packageInfos = [];for (var i = 0; i < packages.length; i++) {var pi = PackageInfo.require(packages[i]);this.packageInfos.push(pi);this.packageInfos[pi.name] = pi;}}JSDoc.prototype.runTasks = function (tasks) {var i = 0;function task() {if (i < tasks.length) {var t = tasks[i++];if ((typeof t) == "function") {t();}setTimeout(task, 0);}}task();};JSDoc.prototype.collectPackages = function (pkgs) {var packageMap = {};var ps = {};for (var i = 0; i < pkgs.length; i++) {ps[pkgs[i]] = true;}do {var dps = [];for (var i = 0; i < pkgs.length; i++) {var pkg = $JSI.Package.require(pkgs[i]);if (pkg == null) {continue;}packageMap[pkgs[i]] = pkg;if (pkg.name != pkgs[i]) {if (!ps[pkg.name]) {ps[pkg.name] = true;dps.push(pkg.name);}} else {var infm = pkg.scriptDependenceMap;for (var s in infm) {var infs = infm[s];for (var j = 0; j < infs.length; j++) {var np = infs[j].packageName;if (np && !ps[np]) {ps[np] = true;dps.push(np);}}}}}pkgs = dps;} while (pkgs.length > 0);var packages = [];for (var n in packageMap) {packages.push(n);}var spkgs = [];var tpkgs = [];for (var i = 0; i < packages.length; i++) {if (/^(?:js\.)|(?:org\.\xidea\.)/.test(packages[i])) {spkgs.push(packages[i]);} else {tpkgs.push(packages[i]);}}spkgs.sort();tpkgs.sort();return spkgs.concat(tpkgs);};JSDoc.prototype.gen = function (obj, anc, win) {var args = obj.args;var argstrs = [];for (var i = 0; i < args.length; i++) {if (typeof args[i] == "string") {argstrs.push("'" + args[i] + "'");} else {argstrs.push(args[i] + "");}}var href = "controller.html?{cmd:'" + obj.cmd + "',args:[" + argstrs.join(",") + "]}";if (anc) {href = href + "#" + anc;}var content = (window.frames || document.frames)[win || "content"];content.location.href = ("wait.html");setTimeout(function () {content.location.href = href;}, 100);return false;};JSDoc.prototype.genMenu = function (doc) {var template = new Template($package.scriptBase + "menu.xhtml");doc.open();template.render({jsdoc:this, rootInfo:this.rootInfo, css:$package.scriptBase + "styles/menu.css", packageInfos:this.packageInfos}, doc);doc.close();};JSDoc.prototype.genPackages = function (doc) {var template = new Template($package.scriptBase + "packages.xhtml");doc.open();template.render({jsdoc:this, rootInfo:this.rootInfo, css:$package.scriptBase + "styles/default.css", packageInfos:this.packageInfos}, doc);doc.close();};JSDoc.prototype.genPackage = function (pkg, doc) {var template = new Template($package.scriptBase + "package.xhtml");var pkgInfo = PackageInfo.require(pkg);function run() {var infos = pkgInfo.getObjectInfos();var constructors = [];var functions = [];var objects = [];for (var i = 0; i < infos.length; i++) {var info = infos[i];switch (info.getType()) {case "constructor":constructors.push(info);break;case "function":functions.push(info);break;default:objects.push(info);}}doc.open();template.render({css:$package.scriptBase + "styles/package.css", constructors:constructors, functions:functions, objects:objects, files:pkgInfo.fileInfos, packageInfo:pkgInfo}, doc);doc.close();}var tasks = pkgInfo.getInitializers();tasks.push(run);this.runTasks(tasks);};JSDoc.prototype.genFile = function (file, pkg, doc) {var template = new Template($package.scriptBase + "file.xhtml");doc.open();template.render({css:$package.scriptBase + "styles/file.css", fileInfo:PackageInfo.require(pkg).fileInfos[file]}, doc);doc.close();};JSDoc.prototype.genObject = function (obj, pkg, doc) {var pkgInfo = PackageInfo.require(pkg);var objInfo = pkgInfo.getObjectInfoMap()[obj];switch (objInfo.getType()) {case "constructor":var template = new Template($package.scriptBase + "constructor.xhtml");break;case "function":var template = new Template($package.scriptBase + "function.xhtml");break;case "object":var template = new Template($package.scriptBase + "object.xhtml");break;default:var template = new Template($package.scriptBase + "native.xhtml");}doc.open();template.render({css:$package.scriptBase + "styles/object.css", objInfo:objInfo}, doc);doc.close();};JSDoc.prototype.genSource = function (file, pkg, doc) {var sourceEntry = SourceEntry.require(file, pkg);var timestamp = new Date().getTime();var source = sourceEntry.source.toString();var ds = sourceEntry.docEntries;var anchors = [];if (ds != null && ds[0] != null) {for (var i = 0; i < ds.length; i++) {var id = ds[i].getId();if (id && id.length > 0) {anchors.push({name:id, position:ds[i].end});}}}sourceEntry.anchors = anchors;var lines = sourceEntry.buildLineIterator();var template = new Template($package.scriptBase + "source.xhtml");template.beforeOutput = function () {};doc.open();template.render({jsdoc:this, css:$package.scriptBase + "styles/source.css", lines:lines}, doc);$log.debug("parse timeSpent:", sourceEntry.timeSpent, "gen timeSpent:", new Date().getTime() - timestamp);doc.close();};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -