Api文档生成工具与Api文档的传播(pdf)
1 环境和工具
win10
apidoc:注释生成api文档
wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将html转换成pdf文件
git:命令行工具和代码版本控制工具(非必要)
Typora:markdown文件编辑工具(非必要)
文本编辑工具:VSCode(非必要)
2 准备
(1)apidoc的安装
安装Nodejs
- 官网地址:http://nodejs.cn/download/
- 根据自己的系统环境下载并安装
- 检测是否安装成功)
$ 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的安装
- 官网下载地址:https://wkhtmltopdf.org/downloads.html
- 根据环境下载并安装
- 检测是否安装成功
$ 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 安利
- apidoc使用参考:http://www.bjhee.com/apidoc.html
- wkhtmltopdf使用参考:https://www.jianshu.com/p/4d65857ffe5e
Api文档生成工具与Api文档的传播(pdf)的更多相关文章
- 工具:使用过的 API 文档生成工具
背景 2012 年之前几乎没有为代码增加注释,当然,代码的命名也不见得合理(好的代码胜过面面俱到的注释),后来接触过一些开源框架,优秀的框架都有一个特点:文档和示例非常多,在后来的日子里,几乎会强制自 ...
- Java 的 Api 文档生成工具 JApiDocs 程序文档工具
JApiDocs 详细介绍 简介 JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具.最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs ...
- 【转载】Java Restful API 文档生成工具 smart-doc
谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...
- 微软开源全新的文档生成工具DocFX
微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文 ...
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...
- python文档生成工具:pydoc、sphinx;django如何使用sphinx?
文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...
- (转)Doxygen文档生成工具
http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...
随机推荐
- 感知机和BP神经网络
一.感知机 1.感知机的概念 感知机是用于二分类的线性分类模型,其输入是实例的特征向量,输出是实例的类别,类别取+1和-1二个值,+1代表正类,-1代表负类.感知机对应于输入空间(特征空间)中将实例分 ...
- P5657 格雷码【民间数据】
P5657 格雷码[民间数据] 题解 其实这题水啊 打表找规律 [1]0 1 [2]00 01 11 10 [3]000 001 011 010 110 111 1 ...
- pre-fork 分叉 软分叉 硬分叉 前叉实现 pre-fork implementation
https://mp.weixin.qq.com/s/wIDTs2J1ZkLkAEHqQnkYnw 什么是分叉?为何对区块链发展至关重要? Uselink公有链 Uselink公有链 2018-12- ...
- 20190710记录:去掉中转图,直接以1280*1024进行反坐标计算,填补pbFinal。
1.记录:去掉中转图,直接以1280*1024进行反坐标计算.pbFinal=1280*1024. // Imagejoint.cpp : 定义控制台应用程序的入口点. // #include &qu ...
- kotlin中匿名对象
open class MyClass { private fun too()=object { var x : String ="x" } fun publictoo()=obje ...
- sysbench 压测
IP架构 sysbench部署服务器:172.17.100.107 压测服务器:172.17.100.100 MySQL部署目录:/usr/local/mysql 前置工作 1.完成MySQL的安装( ...
- 图解centos7如何关闭ipv6仅使用ipv4
方法/步骤 使用ifconfig命令查看网卡信息,如果出现inet6 fe80::20c:29ff:fed0:3514,说明机器开启了ipv6,如下图所示: 编辑/etc/sysctl.c ...
- 在CSS中定义【导航栏】超链接样式
1.案例css代码 <style> .divcss5 a:link{ color:#F00}/* 链接默认为红色 */ .divcss5 a:hover{ color:#000}/* 鼠标 ...
- Qt编写自定义控件24-图片轮播控件
一.前言 上一篇文章写的广告轮播控件,采用的传统widget堆积设置样式表做的,这次必须要用到更高级的QPainter来绘制了,这个才是最高效的办法,本控件参考雨田哥的轮播控件,经过大规模的改造而成, ...
- 如何不让Excel图表随源数据改变而改变
如何不让Excel图表随源数据改变而改变 一般我们在用Excel时,经常会碰到一些问题,比如,如何才能不让Excel图表随源数据改变而改变呢,下面就谈一下,一般在默认情况下,Excel的图表在一个区域 ...