UNPKG

@agds/cli-plugin-doc

Version:

agds系统doc文档生成器

51 lines (45 loc) 1.3 kB
"use strict"; /* * @Author: 锦阳 * @Create: 2021年05月31日 */ /* istanbul ignore next */ /** * 将codes渲染成md代码片段 * * @memberof GenDoc * @param {GetFilesCodeResult[]} codes `GenDoc.getFilesCode`函数获取到的codes数组 * @param {string[]} [extSort= ['md', 'vue', 'jsx', 'js']] 优先并且按照`extSort`数组顺序获取遍历codes * @param {Object<string,string>} [extTrans={vue:'html'}] ext转换的映射map * 简单示例`{vue:'html'}` * @returns {string} */ function renderCode(codes, extSort = ['md', 'vue', 'jsx', 'js'], extTrans = { vue: 'html' }) { let result = ''; codes && codes.forEach(item => { extSort.concat(Object.keys(item).filter(ext => !extSort.includes(ext))).forEach(ext => { const code = item[ext]; if (code) { code.forEach(c => { if (ext === 'md') { result += c + '\n'; } else { const _ext = extTrans[ext] || ext; result += `\`\`\`${_ext}\n` + c + '\n```\n'; } }); } }); }); return result; } module.exports = renderCode; /** * 获取文件的内容的返回值类型,key是文件的extname * * @typedef {Object.<string,string>} GetFilesCodeResult * @memberof GenDoc.getFilesCode * @alias GetFilesCodeResult */