UNPKG

ydoc

Version:

基于 Markdown 的静态站点生成工具

36 lines (30 loc) 997 B
var fs = require('fs'); var sysPath = require('path'); var commentParser = require('comment-parser'); var shell = require('shelljs'); function getName(type, file) { var btn = fs.readFileSync(sysPath.join(__dirname, file), 'UTF-8'); var commetObj = commentParser(btn); var reg = new RegExp('@' + type, 'gi'); var name = ''; // console.log(JSON.stringify(commetObj, null, 2)); commetObj.forEach(function (item) { if (reg.test(item.source)) { item.tags.forEach(function (tagName) { if (tagName.tag === 'component') { name = tagName.name; } }); } }); return name; } shell.ls('test/jsdoc-to-markdown/Button.js').forEach(function (file) { // console.log(file); var name = getName('component', file); // console.log(name); // 为属性添加 memberof shell.sed('-i', /(.*)(@property.*)/gi, '$1$2\n$1@memberof ' + name, file); // component 修改为 class shell.sed('-i', /(\*[\s\S]+?@)(component)/gi, '$1class', file); });