基于 Markdown 编写接口文档
最近公司开发项目需要前后端分离,这样话就设计到后端接口设计。复杂功能需要提供各种各样的接口供前端调用,因此编写API文档非常有必要了
网上查了很多资料,发现基于Markdown编写文档是一种比较流行而且成熟的方案了,话不多说,我也搞一搞试试。
电脑操作系统:deepin深度 Linux64位,比较难用的一个系统,但是公司强制使用,没办法
1、这里我用到了gitbook,GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML、PDF、eBook 等格式的电子书。关于更多介绍可以参考:http://www.chengweiyang.cn/gitbook/introduction/README.html 。安装gitbook可以直接使用命令: npm install gitbook-cli -g 来进行安装。 当然前提是安装了nodejs ,因为我们前端项目用的vue,加载依赖也需要nodejs,所以我已经提前装好了直接使用。安装nodejs可以参考:https://www.cnblogs.com/liuqi/p/6483317.html(非常赞)
执行完上面命令以后,可能需要设置软连 nodejs中的gitbook :ln -s /opt/nodejs/bin/gitbook /usr/local/bin/gitbook ,然后执行gitbook -V 来查看版本,首次会自动安装gitbook。
2、安装好gitbook以后,你就可以新建一个目录,mybook ,然后进去直选命令两个命令:gitbook init , gitbook serve。 gitbook init命令是初始化你的书籍,会自动生成两个文件,SUMMARY.md可以理解为整个书籍的目录。如下图:

然后继续直行gitbook serve 就会根据SUMMARY.md来编译书籍 如下:

然后就可以通过 http://localhost:4000/ 地址访问啦。

提示:我刚安装好gitbook以后是执行不到 “gitbook” 这个命令的,可以通过创建软链接 解决,root权限下,执行 : ln -s /opt/nodejs/bin/gitbook /usr/local/bin ,然后退出root就可以执行 gitbook命令啦,可以通过gitbook -V来查看版本
3、gitbook准备就绪,然后你还需要一个编辑工具,编辑工具应该有很多,我找到了一个是 Typora ,用了一下感觉还是比较好用,以后有机会再用其他的吧。 Typora安装可以参考官网,https://www.typora.io/#linux ,安装也非常简单。
执行以下命令:
# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
# install typora
sudo apt-get install typora
需要注意的是 add-apt-repository 这个命令是需要安装一个python包的, 直接执行:apt-get install python-software-properties 安装完成以后应该就可以执行了。如果还是不行,可以自行google或者百度一下
4、Typora 安装好以后,就可以用它打开文档进行编辑了,去mybook目录下,执行 typora SUMMARY.md 就可以进行编辑啦 ,然后下面就是SUMMARY的内容,使用 markdown语法进行编辑就可以了。
# Summary * [前言](README.md)
* [一、登录模块](Chapter1/README.md)
* [登录接口](Chapter1/登录接口.md)
* [登录发送短信](Chapter1/登录发送短信.md)
* [提交短信&支付密码登录](Chapter1/提交短信&支付密码登录.md)
使用typora打开以后,效果图如下:

5、大功告成,gitbook可以实时刷新,当你用编辑器修改内容以后,马上就可以在浏览器中看到效果。如果需要新增页面,就直接修改SUmmary.md,修改完成页面以后,执行 gitbook init就会自动创建。然后再用 typora打开编辑就行了。 后记:还可以使用gitbook功能生成pdf文档,但是需要提前安装 sudo apt-get install calibre 包,如果不安装执行命令会报 InstallRequiredError: "ebook-convert" is not installed. Install it from Calibre: https://calibre-ebook.com 错我。
在书籍目录下执行命令:gitbook pdf ,就可以生成pdf文档啦
基于 Markdown 编写接口文档的更多相关文章
- Markdown编写接口文档模版
接口名称 1) 请求地址 https://apis.cnblogs.com/user/info?a=xx&b=xx 2) 调用方式:HTTP GET 3) 接口描述: 接口描述详情 4) 请求 ...
- Markdown写接口文档,自动添加TOC
上回说到,用Impress.js代替PPT来做项目展示.这回换Markdown来做接口文档好了.(不敢说代替Word,只能说个人感觉更为方便)当然,还要辅之以Git,来方便版本管理. Markdown ...
- 使用 Laravel-Swagger 编写接口文档(php)
使用 Laravel-Swagger 编写接口文档 Table of Contents Swagger 文档管理 官方网站:https://swagger.io/ 快速编写你的 RESTFUL API ...
- 作为Java开发工程师,如何高效优雅地编写接口文档
作为一名优秀的Java开发工程师,编写接口文档向来是一件很头疼的事情.本来就被bug纠缠的很累了,你还让我干这? 其实,你可以试试ApiPost. ApiPost的定位是Postman+Swagger ...
- 基于swagger进行接口文档的编写
0. 前言 近期忙于和各个银行的代收接口联调,根据遇到的问题,对之前编写的接口进行了修改,需求收集和设计接口时想到了方方面面,生产环境下还是会遇到意想不到的问题,好在基本的执行逻辑已确定,因此只是对接 ...
- 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- 使用 VS Code + Markdown 编写 PDF 文档
背景介绍 作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 markdown 这个技能,使用 markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如 ...
- 使用Spec Markdown 编写手册文档
Spec Markdown 是一个基于markdown 的文档编写工具,安装简单,可以让我们编写出专业的文档 参考项目 https://github.com/rongfengliang/spec-md ...
- [API]使用Blueprint来高雅的编写接口文档 前后端api文档,移动端api文档
网址:http://apiary.io/ 介绍:一款非常强大的前后端交互api设计编辑工具(编辑器采用Markdown类似的描述标记,非常高效),高颜值的api文档,还能生成多种语言的测试代码. 中文 ...
随机推荐
- 前端开发中使用mac自带apache服务
场景 前端开发中,总是会有这样的需求,就是快速的写一个脚本,或者一个简单的demo页面.这时,我们需要马上可以启动一个web服务,来支持开发. 我们可以安装一个全局的cli工具,通过node服务来满足 ...
- 五分钟读懂UML类图(转)
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- Windows下配置Git多账号github码云
Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...
- node配置微信小程序解密消息以及推送消息
上一篇文章介绍过 微信小程序配置消息推送,没有看过的可以先去查看一下,这里就直接去把那个客服消息接口去解密那个消息了. 在这里我选择的还是json格式的加密. 也就是给小程序客服消息发送的消息都会被微 ...
- 测者的测试技术手册:Junit单元测试遇见的一个枚举类型的坑(枚举类型详解)
Enum的简介 枚举类型很早就在计算机语言中存在了,主要被用来将一组相似的值包含进一种类型中,这种类型的名称被定义成独一无二的类型描述符,这就是枚举类型. 在java语言中,枚举类型是一个完整功能的类 ...
- HDU 6152 - Friend-Graph
Friend-Graph Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 从0开始的Python学习014面向对象编程
简介 到目前为止,我们的编程都是根据数据的函数和语句块来设计的,面向过程的编程.还有一种我们将数据和功能结合起来使用对象的形式,使用它里面的数据和方法这种方法叫做面向对象的编程. 类和对象是面向对象 ...
- vue(5)—— vue的路由插件—vue-router 常用属性方法
前端路由 看到这里可能有朋友有疑惑了,前端也有路由吗?这些难道不应该是在后端部分操作的吗?确实是这样,但是现在前后端分离后,加上现在的前端框架的实用性,为的就是均衡前后端的工作量,所以在前端也有了路由 ...
- Java基础系列--07_Object类的学习及源码分析
Object: 超类 (1)Object是类层次结构的顶层类,是所有类的根类,超类. 所有的类都直接或者间接的继承自Object类. 所有对象(包括数组)都实现这个类的方法 (2)Object ...
- Eclipse为工具包关联源码(本例工具包为dom4j-1.6.1)
最近学习了dom4j解析xml文件,然而在eclipse中,每次想看源码都要去到源代码文件里看,不能在eclipse中直接看, 然后我就瞎折腾,终于知道怎么把源代码添加到eclipse中了.(我的ec ...