使用Gitbook来编写你的Api文档

Published on: November 18, 2014

Gitbook是一个很优秀的社区,上面有很多优秀的作者自出版自己的著作,就好像Leanpub,可能很多人喜欢Leanpub,但是我还是喜欢Gitbook,这种类似于Github的原创社区。同时Gitbook还提供一个开源的配套的工具。也许看到此文章的很多人很早就知道Gitbook,但是也许你没有使用过,现在Gitbook已经比较成熟了,功能也比较完善。下面我们首先来介绍下Gitbook的使用。

Gitbook的使用

当你使用Gitbook的时候,新建一个项目的时候,会弹出下面选项,共四种类型的模板提供给你选择,实际上他们没什么区别,只是一个Markdown模板:

我们选择了第一项,当然,初次尝试的朋友,可以都选择看一看不同的Markdown模板。

如图所示, Gitbook Editor,实际上就是一个特殊的Markdown编辑器。我创建了一个test项目作为示例,你也可以自己创建一本新书,然后打开源目录,会看到如下文件:

  • _book 文件夹
  • SUMMARY.md
  • README.md

SUMMARY.md 这个文件就是书的目录结构。Gitbook Editor对中文支持不太好,有时候你用Editor创建了一个章节,用中文命名,但是当你点击那个新建的章节的时候,会报错,解决办法就是用你自己的编辑器打开这个文件,直接编辑这个文件就好了。

具体Editor如何上手,就不详细说了,相信你会用Markdown编辑器就会用Editor。

当你创建了一本书之后,可以通过「Book->Publish As...」功能来把你的书发布到Gitbook,但是前提是你必须要在Gitbook网站上面也相应创建好这本书。

你也可以通过使用Gitbook的帮助,使用Git来创建并上传你的书:

touch README.md SUMMARY.md
git init
git add README.md SUMMARY.md
git commit -m "first commit"
git remote add gitbook https://push.gitbook.io/blackanger/test.git
git push -u gitbook master
…or push an existing repository from the command line

git remote add gitbook https://push.gitbook.io/blackanger/test.git
git push -u gitbook master

你也可以在本地使用Editor的Preview Website功能,在本地_books目录中生成静态网页,也就是书的Web版本。 早先的Gitbook Editor版本可以直接在本地生成epub、pdf、mobi格式的文件,但是最新版本把这些功能去掉了。

使用Gitbook写你自己的Api文档

Gitbook写自己的书很方便,本人前段时间也发布了一本免费书籍《Chef之道》。其实你用Gitbook不只是可以写书,也可以来写Api文档,我一直用Gitbook写Api文档,我总结了几个优点:

  • Gitbook可以免费创建私有库,保密性比较高。
  • 类似于Github,有版本控制。就是一个电子书版的Github。
  • Gitbook Editor是一个很好用的Markdown编辑器,有很多贴心的快捷键让你发掘,比如cmd+shift+d,如果你用习惯Atom、Sublime、Textmate之类的编辑器,会很喜欢这些特性。当然此类快捷键也不是很多,但是相信以后Editor功能会更加丰富,因为我刚才说的这个特性应该也是新加的。起码比Logdown这个Markdown编辑器好用多了。
  • 一次编写,多处使用。接下来我们重点说这个,也就是我今天重点要说的。

一次编写,多处使用。

现在是移动互联网时代,很多App已经开发在维护,还有很多很多的App待开发,而且HTML5、js mvc框架的发展,有很多人都在维护Api接口。那么写一个可维护、可读性高、带版本控制、可随心所欲分发的接口文档是多么重要。

可读性/ 可维护 / 版本控制

Gitbook是用Markdown写的,还支持语法高亮等,用它写出来的文档,那看起来是相当愉悦的。

Gitbook正是天生带版本控制,你可以选择任意一个你发布过的版本。

可随心所欲分发

  1. 文档写好以后,你可以把Gitbook源目录下面的所有文件都复制到你项目下(app_root/docs/api/gitbook_api_dir)。这样,你的项目就多了一份漂亮的文档,开发人员还可以在本地打开Web Preview生成在_book目录下的静态网页愉悦的看你的Api接口文档。 如果觉得复制太土了,你可以直接把Gitbook Editor的Api文档目录创建在项目中。

  2. 后台接口项目、Android App项目、iOS App项目都可以分发一份,大家可以使用Gitbook Editor来协同管理接口。

  3. 上传到Github,也可以在线修改阅读你的文档,因为Github也支持Markdown。

是不是非常方便?


Update: 就在我写完本文之后,我就发现gitbook增加了付费计划, 免费的私有项目只允许创建一个。

转自:http://tao.logdown.com/posts/243192-use-gitbook-to-write-api-documentation

转载于:https://www.cnblogs.com/timchen5858/p/4859607.html

使用Gitbook来编写你的Api文档相关推荐

  1. 什么是API? [如何编写和阅读API文档]

    随着API在互联网时代中变得越来越普遍,不仅是编程人员会用到,现在也会要求产品经理或互联网运营会调试和对接API.看这篇文章的你可能会使用或开发API,或者两者兼而有之. 因此,对你来说,不仅要了解如 ...

  2. 如何编写优质的API文档

    编写技术文档,是令众多开发者望而生畏的任务之一.它本身是一件费时费力才能做好的工作.可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的 ...

  3. apidoc使用教程-编写漂亮的api文档

    apidoc使用教程 更多干货 React 入门实战(干货) 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) 构建中小型 ...

  4. itextpdf api帮助文档_我开源了一个小工具,可以帮你轻松生成 SpringBoot API 文档...

    前言 大家好,我叫叶大侠,一名独立开发者.这个文档工具是我17年的一个想法,当时还是在公司里面上班,负责App客户端的开发工作,当时后端童鞋写文档的意愿比较低,总是要等他们开发完接口,然后才在微信上沟 ...

  5. jstree中文api文档_还在用 Swagger(丝袜哥)生成接口文档?我推荐你试试它。。。...

    作者:小鱼儿511https://blog.csdn.net/dongbeiou/article/details/106771453JApiDocs是一个无需额外注解.开箱即用的SpringBoot接 ...

  6. springboot的api_【粉丝投稿】无需额外注解的 SpringBoot API文档生成工具

    点击上方"蓝字"关注我们吧! JApiDocs是一个无需额外注解.开箱即用的SpringBoot接口文档生成工具. 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又 ...

  7. android api文档_【粉丝投稿】无需额外注解的 SpringBoot API文档生成工具

    点击上方"蓝字"关注我们吧! JApiDocs是一个无需额外注解.开箱即用的SpringBoot接口文档生成工具. 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又 ...

  8. Eolink 征文活动- -后端研发需要的API文档工具

    Eolink功能太多,一两篇文章聊不完,这篇文章只是聊聊Eolink的API文档管理功能.     首先大致说说我所认知的API文档工具历史. 我所知的API文档工具历史     我是2010年左右参 ...

  9. API文档自动生成的方法

    编写API文档是API编写人员的噩梦,而API文档通常是由API研发人员编写.由于API文档创建繁琐,需要记录的内容比较广,结束了API开发任务后,还要仔细编写API文档,给研发人员带来额外的工作量. ...

  10. SpringBoot——SpringBoot集成Swagger生成API文档

    文章目录: 1.写在前面 2.步骤详解 2.1 pom文件中添加Swagger依赖 2.2 在application.properties核心配置文件中配置Swagger 2.3 编写需要生成API文 ...

最新文章

  1. Swift--逃逸闭包与非逃逸闭包(Swift3.1)
  2. NeHe教程Qt实现——lesson13
  3. JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
  4. SAP Fiori pageSet请求的处理原理
  5. 【Python可视化】利用Numpy绘制各种统计图表
  6. 双向(端)链表、栈、队列
  7. 【CodeForces - 527C】Glass Carving(线段树或者SBT或者set)
  8. oracle中job无法正常运行,如何排查
  9. WordPress中文SEO优化建议
  10. python小游戏——散刺修罗场
  11. 艾美捷-临床数量排名前20的药物靶点分析-磷酸二酯酶(PDEs)抗体
  12. 【C语言】C语言中基础操作符详细讲解
  13. 今日恐慌与贪婪指数为15 恐慌程度有所上升
  14. 扩增子图表解读4曼哈顿图:差异OTU或Taxonomy
  15. 经典算法系列之不死神兔
  16. 图像紫边消除(depurple)
  17. python中进制转换及IP地址转换
  18. IL2CPP does not support marshaling delegates that point to instance methods to native code
  19. Python数据结构之树形结构——数组存储
  20. 中国计算机软件行业分析3--软件倾销

热门文章

  1. 机器人操作系统ROS(一):发布接收消息
  2. python使用相对路径创建文件夹
  3. Python实现对给定的列表中连续数字的寻找
  4. 第一个简单的Servlet
  5. C++Debug Assertion Failed!到底出错在哪里?
  6. 如何在IDEA中搭建SpringMVC?
  7. DevOps使用教程 华为云(16)git 日志记录 比较2次提交差异
  8. DevOps使用教程 华为云(1)用Scrum框架 新建项目
  9. Hyperledger Fabric教程(9)-- peer命令-通道channel
  10. kubernetes Container、Pod、Replicaset、Service、Deployment、Lable、Statefulset关系和区别