简介
GitBook 是使用 GitHub / Git 和 Markdown 构建漂亮书籍的命令行工具(和Node.js库)。GitBook 可以将我们书写的文档作为网站或电子书(PDF,ePub或Mobi)输出。还有 GitBook.com 网站是使用 GitBook 格式创建和托管图书的在线平台。
GitBook安装
gitbook是一个基于Node.js的命令行工具,所以要先安装Node.js,找到对应平台的版本安装即可。(Node.js 版本不要使用最新,最新版可能不支持,测试使用v10.23.1版本)
Node.js都会默认安装npm(node包管理工具),所以不需要单独安装npm,打开命令行,执行以下命令安装GitBook:
npm install -g gitbook-cli
安装 Markdown 编辑工具
我比较习惯使用 Typora ,使用其他编辑工具也是可以的,比如,Mou,MarkdownPad,Atom,Cmd Markdown。
Gitbook的使用
gitbook 的基本用法非常简单,先打开命令行(cmd),cd到文档的文件夹下,再执行命令:
$ gitbook init
执行后会在目录中创建2个文件 README.md(书籍的介绍)和 SUMMARY.md(书籍的目录结构),打开SUMMARY.md 编写一个简单的目录
# Summary
* [Introduction](README.md)
* [前言](readme.md)
* [第一章](part1/README.md)
* [第一节](part1/1.md)
* [第二节](part1/2.md)
* [第三节](part1/3.md)
* [第四节](part1/4.md)
* [第二章](part2/README.md)
* [第三章](part3/README.md)
* [第四章](part4/README.md)
写完目录再次执行gitbook init
,gitbook 会为我们创建 SUMMARY.md 中的目录结构。然后就可以编写文章中的内容了。
生成书籍
目录创建完后可以使用gitbook serve
来预览,执行后会把Markdown格式转换为html格式,打开浏览器访问 http://localhost:4000,就可以看到这本书了
$ gitbook serve
Press CTRL+C to quit ...
Live reload server started on port: 35729
Starting build ...
Successfully built!
Starting server ...
Serving book on http://localhost:4000
使用Pages服务托管书籍
Pages服务简单说就是一个用来托管静态网站的。gitbook 可以将文档生成为HTML静态页面,所以可以直接将构建好的书籍放到代码仓库。
在仓库中构建书籍
首先,我们先新建一个doc仓库:
$ mkdir doc
$ cd doc
$ git init
然后,我们根据上面的方法创建书籍:
$ gitbook init
接着,我们使用 gitbook build
将书籍进行编译,会看到生成了一个_book的目录,这个目录中存放的就是静态网页。
$ gitbook build
创建 gh-pages 分支
下面我们创建 gh-pages 的分支,并删除不需要的文件:
$ git checkout --orphan gh-pages
$ git rm --cached -r .
$ git clean -df
$ rm -rf *~
我们的目录下应该剩下了 _book 目录,先编写 .gitignore
文件,忽略一些文件:
$ echo "*~" > .gitignore
$ echo "_book" >> .gitignore
$ git add .gitignore
$ git commit -m "update gitignore"
然后,将 _book 中的内容添加到分支中:
$ cp -r _book/* .
$ git add .
$ git commit -m "rebuild pages"
最后将修改上传到仓库。
修改书籍后,重新提交
我们切换到 master 分支下,添加新的章节后,应该如何提交呢。先在 master 分支下重新 build
$ gitbook build
然后切换到 gh-pages 分支,将 _book 目录下的文件拷贝出来,或者执行:
$ cp -r _book/* .
再重新提交修改,提交后需要等待一会儿,页面才能刷新。