一、简介

GitBook 是一个支持用 MarkDown 编写文档的软件,支持输出 HTML、PDF、eBook 格式文档。作为开发者我们一般会用它来写一些技术和接口文档。

GitBook 官网:https://www.gitbook.com

二、安装

1. 安装 Node.js

GitBook 是基于 Node.js 的命令行工具,需先下载安装 Node.js,检测是否安装成功:

$ node -v
v6.9.1

2. 安装 GitBook

使用 npm 安装 GitBook,命令如下:

$ npm install -g gitbook-cli

检测是否安装成功:

$ gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3

三、使用

1. 初始化

新建目录 book,在该目录下执行如下命令进行初始化:

$ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished

该命令将会生成 README.mdSUMMARY.md 两个文件。其中 README.md 是对文档的简单介绍,可以用来作为封面,SUMMARY.md 是文档的目录结构。

也可以自己预先定义好 SUMMARY.md 中的目录结构,然后再用 init 命令初始化,程序将会根据我们的目录结构生成目录和文件,目录结构示例:

# Summary

* [Introduction](README.md)
* [Chapter1](chapter1/README.md)
* [Section1.1](chapter1/section1.1.md)
* [Section1.2](chapter1/section1.2.md)
* [Chapter2](chapter2/README.md)

2. 生成并预览

book 目录下执行如下命令,将会生成 HTML 文件并提供预览地址:

$ gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit ... info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 1.0s ! Starting server ...
Serving book on http://localhost:4000

在浏览器中打开 http://localhost:4000 即可看到初始化的文档。

如果只需生成 HTML 文件执行 build 命令即可,命令如下:

$ gitbook build

如果需要生成 PDF 文件,由于依赖 ebook-convert,需要安装 Calibre,安装配置完成后,执行如下命令即可:

$ gitbook pdf

3. 编辑器

现在支持实时预览的 markdown 编辑器有很多,可以根据自己的喜好选择,此处仅做推荐:

  • 官方编辑器 GitBook Editor
  • PhpStorm(不要问我为什么,我不会告诉你我是 PHP 程序猿)
  • Sublime Text(其实我写 MD 文档都不用预览,所以没给它装插件,龇牙)

四、配置

通过配置 book.json 中的参数,我们可以配置文档的很多信息,比如标题、侧边栏、插件等。

一个简单的 book.json 文件如下:

{
"title": "GitBook 使用教程",
"author": "Yanlong Ma <json_vip@163.com>",
"description": "GitBook 使用教程 - 马燕龙个人博客",
"generator": "site",
"links": {
"sidebar": {
"马燕龙个人博客": "http://www.mayanlong.com"
}
}
}

下面介绍的插件也需要用到该配置。

五、插件

1. 自带插件

GitBook 默认带有五个插件:highlight、search、sharing、fontsettings、livereload。如果要去除自带的插件,可以在插件名称前面加”-“,如下:

"plugins": ["-search"]

2. 命名规范

GitBook 还支持许多插件,可以从 NPM 上搜索 GitBook 的插件,GitBook 推荐插件的命名方式如下,所以可以通过以下两种方式来搜索 GitBook 的插件或者主题:

gitbook-plugin-X: 插件
gitbook-theme-X: 主题

3. 安装插件

下面介绍如何安装 gitbook-plugin-prism 插件,在 NPM 搜索该插件,插件主页链接为 https://www.npmjs.com/package/gitbook-plugin-prism。

首先安装该插件,命令如下:

$ npm i gitbook-plugin-prism

然后在 book.json 中添加该插件,同时禁用默认的 highlight,配置如下:

{
"plugins": ["prism", "-highlight"]
}

可以根据自己的喜好,配置不同的主题:

"pluginsConfig": {
"prism": {
"css": [
"prismjs/themes/prism-solarizedlight.css"
]
}
}

本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。

马燕龙个人博客:http://www.mayanlong.com

马燕龙个人微博:http://weibo.com/imayanlong

马燕龙Github主页:https://github.com/yanlongma

手把手教你使用 GitBook的更多相关文章

  1. 手把手教你做个人 app

    我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...

  2. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  3. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  4. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  6. UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包

    背景 项目上需要做UWP的自动安装包,在以前的公司接触的是TFS来做自动build. 公司要求用Jenkins来做,别笑话我,之前还真不晓得这个东西. 会的同学请看一下指出错误,不会的同学请先自行脑补 ...

  7. 推荐!手把手教你使用Git

    推荐!手把手教你使用Git 原文出处: 涂根华的博客   http://blog.jobbole.com/78960/ 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与 ...

  8. 手把手教你写Sublime中的Snippet

    手把手教你写Sublime中的Snippet Sublime Text号称最性感的编辑器, 并且越来越多人使用, 美观, 高效 关于如何使用Sublime text可以参考我的另一篇文章, 相信你会喜 ...

  9. 手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)

    手把手教你调试Linux C++ 代码 软件调试本身就是一项相对复杂的活动,他不仅要求调试者有着清晰的思路,而且对调试者本身的技能也有很高的要求.Windows下Visual Studio为我们做了很 ...

随机推荐

  1. Insubstantial 6.2 Release

    http://shemnon.com/speling/2011/04/insubstantial-62-release.html

  2. python3制作捧腹网段子页爬虫

    0x01 春节闲着没事(是有多闲),就写了个简单的程序,来爬点笑话看,顺带记录下写程序的过程.第一次接触爬虫是看了这么一个帖子,一个逗逼,爬取煎蛋网上妹子的照片,简直不要太方便.于是乎就自己照猫画虎, ...

  3. 《javascript征途》学习笔记

    基础 1. 只有函数有作用域 2. 如果在<script src>的src 中设置了src特性,则script元素包含的任意代码就无效了.应该分开放到不同的script块中. 3. 外部j ...

  4. freemarker1 一些内建函数和用法

    ${"   green mouse"?cap_first} -->   Green mouse  //字符串中的第一个单词的首字母大写 ${"ABCDF" ...

  5. Node.js的全局对象和全局变量

    http://blog.csdn.net/leftfist/article/details/41877279

  6. 在ASP.NET MVC 3 中自定义AuthorizeAttribute时需要注意的页面缓存问题

    一.ASP.NET MVC中使用OutputCache实现服务器端页面级缓存 在ASP.NET MVC中,假如我们想要将某个页面(即某个Action)缓存在服务器端,可以在Action上标上以下特性: ...

  7. 转载 -- Cocoapod方式引入百川SDK -报错[!] Unable to find a specification for `xxx`

    [cocopad集成百川sdk官网] iOS需要填写BundleID .BundleID要是当前应用的BundleID.勾选淘宝登录基础包下载SDK. 注意事项:将下载的SDK中的身份图片yw_122 ...

  8. 多线程sshd爆破程序代码

    不多说了,直接上手代码,也没有啥练手的,都是很熟悉的代码,水一篇,方便作为工作的小工具吧.试了一下,配合一个好点的字典,还是可以作为个人小工具使用的. #!/usr/bin/env python # ...

  9. 深度解析Objective-C笔试题

    2011-08-11 17:39 佚名 互联网 字号:T | T 本文介绍的是Objective-C笔试题,先来问一个,为什么很多内置类如UITableViewController的delegate属 ...

  10. jQuery返回顶部实用插件YesTop

    只需一句jQuery代码实现返回顶部效果体验:http://hovertree.com/texiao/yestop/ 使用方法:只需引用jQuery库和YesTop插件(jquery.yestop.j ...