点击查看apidoc生成文档demo

1 环境和工具

  • win10

  • apidoc:注释生成api文档

  • wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将html转换成pdf文件

  • git:命令行工具和代码版本控制工具(非必要)

  • Typora:markdown文件编辑工具(非必要)

  • 文本编辑工具:VSCode(非必要)

2 准备

(1)apidoc的安装

  • 安装Nodejs

    $ node -v
    v9.9.0
    $ npm -v
    6.1.0
  • 通过Nodejs的包管理工具安装apidoc

    • 安装
    $ npm install apidoc -g
    • 检测是否安装成功
    apidoc -h
    
    Usage: C:\Program Files\nodejs\node.exe apidoc [options]
    
    Options:
    -f, --file-filters RegEx-Filter to select files that should be parsed (multiple -f can be used). [.*\.(clj|cls|coffee|cpp|cs|dart|erl|exs?|go|groovy|ino?|java|js|jsx|kt|litcoffee|lua|p|php?|pl|pm|py|rb|scala|ts|vue)$]
    -e, --exclude-filters RegEx-Filter to select files / dirs that should not be parsed (many -e can be used). []
    -i, --input Input / source dirname. [./]
    -o, --output Output dirname. [./doc/]
    -t, --template Use template for output files. [C:\Users\Little\AppData\Roaming\npm\node_modules\apidoc\template\]
    -c, --config Path to directory containing config file (apidoc.json) [./]
    -p, --private Include private APIs in output. [false]
    -v, --verbose Verbose debug output. [false]
    ......

(2)wkhtmltopdf的安装

$ wkhtmltopdf.exe -V
wkhtmltopdf 0.12.5 (with patched qt)

3 DEMO

(1)apidoc目录结构

  • apidoc.json:使用apidoc生成api文档的配置文件
  • apidoc.ps1:powershell脚本文件,用于一键生成api文档并打开
  • auth.js:api的编写
  • general.md:api文档可以包含一个md文件

(2)各个文件的内容

  • apidoc.json
{
"name": "Test Api Document",
"version": "0.1.0",
"description": "This Document is Test Api Document.",
"title": "Test Api Document",
"url": "http://api.test.com/v1",
"sampleUrl": "http://api.test.com/v1",
"header": {
"title": "GENERAL",
"filename": "general.md"
},
"template": {
"withCompare": true,
"withGenerator": true
}
}
  • apidoc.ps1
Remove-Item -Force -Recurse doc
apidoc -o doc
pause
.\doc\index.html
  • auth.js(代码的注释文件)
/**
* @api {post} /auth/token TOKEN
* @apiVersion 0.1.0
* @apiName TOKEN
* @apiGroup Auth
* @apiPermission none
*
* @apiParam {String} username 用户名
* @apiParam {String} password 密码
*
* @apiExample Example usage:
* curl -X POST \
* -H "Content-Type: application/json" \
* -d '{"username":"test","password":"test"}' \
* https://api.test.com/v1/auth/token
*
* @apiDescription 登陆认证并获取token值。
*
* @apiSuccess {Number} status 业务的成功或者失败
* @apiSuccess {String} msg 成功或者失败描述
* @apiSuccess {Object} data 返回的数据
* @apiSuccess {String} data.access_token 下次请求的访问token
* @apiSuccess {Number} data.expires_in token的过期时间
*
* @apiSuccessExample {json} Response:
* HTTP/1.1 200 OK
* {
* "status": 1,
* "msg": "Get Token Success.",
* "data": {
* "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJvcHQiLCJzdWIiOiJhMTE2NDcxNCI
* iIsImlhdCI6MTUxNTY1NjYzMiwiZXhwIjox.aoUcjw2EVc2hDchPgMK4tPou
* PkWuh_jlcpLerO-w1lG_KTNmFmgiKiGAcgAnrYp7xQFpFEBVfwDu7Q",
* "expires_in": 86399
* }
* }
*/
  • general.md
## 概述
这个API文档用于测试使用。

(3)生成api文档

  • 执行apidoc.ps1脚本
  • 或者 apidoc命令
# 目录中多了一个doc目录,打开doc/index.html即可查看api文档
$ apidoc -o doc

(4)html转pdf

$ wkhtmltopdf.exe -s A3 doc/index.html api.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
# 当前目录下多了一个api.pdf文件

4 安利

Api文档生成工具与Api文档的传播(pdf)的更多相关文章

  1. 工具:使用过的 API 文档生成工具

    背景 2012 年之前几乎没有为代码增加注释,当然,代码的命名也不见得合理(好的代码胜过面面俱到的注释),后来接触过一些开源框架,优秀的框架都有一个特点:文档和示例非常多,在后来的日子里,几乎会强制自 ...

  2. Java 的 Api 文档生成工具 JApiDocs 程序文档工具

    JApiDocs 详细介绍 简介 JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具.最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs ...

  3. 【转载】Java Restful API 文档生成工具 smart-doc

    谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...

  4. 微软开源全新的文档生成工具DocFX

    微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文 ...

  5. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

  6. python文档生成工具:pydoc、sphinx;django如何使用sphinx?

    文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...

  7. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  8. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  9. (转)Doxygen文档生成工具

    http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...

随机推荐

  1. 【spring源码分析】IOC容器初始化——查漏补缺(二)

    前言:在[spring源码分析]IOC容器初始化(八)中多次提到了前置处理与后置处理,本篇文章针对此问题进行分析.Spring对前置处理或后置处理主要通过BeanPostProcessor进行实现. ...

  2. java课后实验性问题7

    1.异常处理 import javax.swing.*; class AboutException { public static void main(String[] a) { int i = 1, ...

  3. Get Raster Properties获得栅格的信息

    Summary Returns the properties of a raster dataset. Usage The property returned will be displayed in ...

  4. Ubuntu 18.04安装Samba服务器及配置

    Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...

  5. python笔记6 模块与包 程序开发规范 包 re sys time os模块

    模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...

  6. SQL-W3School-高级:SQL VIEW(视图)

    ylbtech-SQL-W3School-高级:SQL VIEW(视图) 1.返回顶部 1. 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 什么是视图? ...

  7. jExcelAPI 操作 Excel 文件

    在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Wind ...

  8. Grep---linux系统三剑客(一)

    grep .sed.awk被称为linux中的"三剑客". grep 更适合单纯的查找或匹配文本 sed  更适合编辑匹配到的文本 awk  更适合格式化文本,对文本进行较复杂格式 ...

  9. linux系统,CentOs7加新硬盘

    1,打开Vmware软件,添加一块新的硬盘,然后一直下一步. 2.通过CRT等终端软件,连接到机器 [root@Mysql ~]# lsblk    //检查一下硬盘分区信息 [root@Mysql ...

  10. vue 文件下载(需调用接口)

    methods:{ //下载文件 filerightDown(index,fileName) {//index 接口参数 fileName文件名字 var _this = this; var file ...