基于 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文档,还能生成多种语言的测试代码. 中文 ...
随机推荐
- 前段学习 之 webpack 学习记录
自动化安装 1.安装node (node -v查看node版本) 2.全局安装vue-cli Npm install -g vue-cli Vue- v:查看是否安装成功 Vue list:查看 ...
- 日志分析工具Log Parser介绍
摘要: 微软动态CRM专家罗勇 ,回复321或者20190322可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 分析Dynamics 365 Customer Enga ...
- Openlayer 3加载本地ArcGIS切片
第一篇博客,简单的开个头吧.希望自己能坚持记录.一般什么情况什么人需要这样的需求呢,伐木的光头强大哥说我们在深山老林里,没网的啊,地图就手机本地duang的加载一下吧.那么Server啊就要丢掉丢掉. ...
- AndroidStudio使用问题记录
问题: Gradle sync failed: Connection timed out: connect Consult IDE log for more details (Help | Show ...
- [20190416]exclusive latch测试脚本.txt
[20190416]exclusive latch测试脚本.txt --//昨天做了shared latch的测试脚本,今天完善exclusive latch测试脚本,上个星期的测试我是手工执行的.- ...
- 为什么作为下游的WSUS更新服务器总有一直处于下载状态的文件
/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-ts ...
- anaconda的scikit-learn报错It seems that scikit-learn has not been built
我们在导入sklearn时往往会报错. import sklearn Traceback (most recent call last): File "<stdin>" ...
- 5G来了,中国移动能力开放平台的NFV,支持面向5G的演进,已经具备初期商用条件!
近日互联网招聘平台发布的<2019春招旺季人才趋势报告>显示,“新新职业”人才受到企业追捧: 5G相关人才需求大幅增长,5G工程师平均招聘月薪达1.39万元,同比增长12.2%.其中,光传 ...
- 多种解法解决n皇后问题
多种解法解决n皇后问题 0x1 目的 深入掌握栈应用的算法和设计 0x2 内容 编写一个程序exp3-8.cpp求解n皇后问题. 0x3 问题描述 即在n×n的方格棋盘上,放置n个皇后,要求每 ...
- [LeetCode] 17. 电话号码的字母组合
题目描述:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/ 题目描述: 给定一个仅包含数字 2-9 的字符 ...