需求

JSDOC生成的文档(html)和现在开发者网站要求的文档格式(markdown)不一致,导致API文档展示不够理想。

调研结果

JSDOC直接生成MD:https://github.com/jsdoc2md/jsdoc-to-markdown,使用demo文件可以直接生成,也可支持ts。

优化方案

1.通过工具jsdoc-to-markdown将js内容生成为md格式文件,与内容文档一致
2.读取不成功的类,跳过,并将错误原因写入log;
3.生成文档索引json文件,便于入库和索引

运用实例

命令 node jsdoc2md.js
参考
https://github.com/jsdoc2md/jsdoc-to-markdown/wiki/How-to-create-one-output-file-per-class

Jsdoc2md.js

'use strict'
const jsdoc2md = require('jsdoc-to-markdown')
const fs = require('fs')
const path = require('path')/* input and output paths */
const inputFile = 'example.js'
const outputDir = __dirname/* get template data */
const templateData = jsdoc2md.getTemplateDataSync({ files: inputFile })/* reduce templateData to an array of class names */
const classNames = templateData.reduce((classNames, identifier) => {if (identifier.kind === 'class') classNames.push(identifier.name)return classNames
}, [])/* create a documentation file for each class */
for (const className of classNames) {const template = `{{#class name="${className}"}}{{>docs}}{{/class}}`console.log(`rendering ${className}, template: ${template}`)const output = jsdoc2md.renderSync({ data: templateData, template: template })fs.writeFileSync(path.resolve(outputDir, `${className}.md`), output)
}

Jsdoc-to-markdown相关推荐

  1. jsdoc安装与配置

    0 环境 本文档采用npm版本为6.11.3 jsdoc官网 1 使用NPM安装JSDoc 首先,新建一个工程目录,不妨为jsdoc_demo.创建完成后进入目录 执行 npm init -y 生成一 ...

  2. jsdoc接口文档生成器

    jsdoc 官方文档 https://jsdoc.app/ 快速入门 需要安装node.js 及npm 环境 step.1 安装 创建一个新文件夹myJsdoc mkdir myJsdoc cd my ...

  3. jsdoc api文档_创建更好的JSDoc文档

    jsdoc api文档 Writing code documentation is one of the most relaxing experiences of my work as a back ...

  4. JSDoc 安装教程

    环境 nodeJs v10.17.0 jsdoc v3.6.3 操作说明 全局安装jsdoc最新版 npm install jsdoc -g 全局安装jsdoc 指定v3.6.3版本 npm inst ...

  5. lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器

    在这篇文章中,我们会点评一些可以在 Linux 上安装使用的最好的 Markdown 编辑器. 你可以在 Linux 平台上找到非常多的 的 Markdown 编辑器,但是在这里我们将尽可能地为您推荐 ...

  6. 【其他】将幕布文章OPML转换为Markdown的方法

    使用幕布可以快速地进行笔记中格式缩进和笔记管理等操作,但是,幕布只提供了Word.PDF.图片.HTML.OPML.思维导图的导出,以下是把幕布的大纲转换成Markdown的方法. 1.先把幕布里的文 ...

  7. 【注意事项】Markdown遇到的小问题

    写博客的目录的时候遇到了一个小问题 在博客三级标题里插入了一个超链接,在正文里看显示格式是正常的 但是文章开头的目录中却出现了显示异常的问题,把Markdown代码直接显示出来了 后来发现是文本里面[ ...

  8. 推荐几个微信Markdown排版工具

    Md2All Markdown Nice WeChat Format 参考链接 原文链接

  9. Markdown入门简介

    参考 http://sspai.com/25137 作者: Te_Lee 文章来源: 少数派 Markdown入门简介(使用工具Haroopad) 一.使用的工具----haroopad(http:/ ...

  10. atom搭建markdown环境

    1. 搭建markdown环境 > 禁用atom自带的markdown-preview插件(功能简单) > 安装插件:markdown-preview-plus@2.4.16(在markd ...

最新文章

  1. python进阶免费-【Python进阶,一学就会】系列1(文末免费送10本书)
  2. 思科、华为、Juniper命令对比
  3. 由SecureCRT引发的思考和学习
  4. JavaFX实际应用程序:SkedPal
  5. NHibernate使用之详细图解
  6. GprMax 3.1.5 建模的in文件编写详解(2)
  7. Java内存分析—栈,堆,方法区
  8. JAVA基础(2/17)-基本语法_数据类型
  9. 强大的CHM电子书或CHM帮助文件的快速制作工具Easy CHM
  10. 使用计算机眼睛保护方法有哪些,​计算机族的“护眼诀窍”
  11. 网络型PLC可编程控制器实验装置(立式、挂箱积木式)
  12. python web flask 插件_Python WEB框架之Flask
  13. C 通过四个点计算两条直线的交点
  14. QQ空间导出助手插件
  15. 500 The server encountered an unexpected condition that prevented it from fulfilling the request.
  16. 这4个兼职平台实测靠谱,想做兼职的赶紧收藏起来看看吧
  17. 【Web前端】HTML与HTML5 知识点梳理总结(自用笔记版)
  18. 阿里巴巴Java面试题目
  19. 手机触屏特效Java_手机触屏触摸特效javascript-TouchSwipe(依赖于jquery库)中文说明...
  20. 英特尔530和535哪个好_2020年终好物推荐,英特尔Evo平台认证更出彩

热门文章

  1. 软件公司的商业模式与招聘
  2. PHP基础教程十四之使用MySqli操作数据库
  3. eclipse 导入项目后,如何消除error pages的错误
  4. Hive 的数据类型有哪些?
  5. Elasticsearch基础学习(Java API 实现增删查改)
  6. [AS-Hack]AS3中强制进行垃圾回收的方法
  7. 亿级交易平台:从 0 到 1 设计思路
  8. 2019 杭电多校 HDU - 6625 three arrays 字典树+贪心
  9. 关于登录密码加密的三个方式
  10. 多维数组以及拷贝,可变参数