前言

文章名字起得有点大,但是为什么会起这样一个名字呢,主要是在使用gitbook的过程中,发现使用起来还是有点不方便。当然,我们这里说的不是gitbook.com在线编写文档。 具体的问题有两点: 1. gitbook自带的serve功能存在bug。gitbook serve之后,按道理会自动编译,但是实际是报错了,需要重启gitbook serve 2. 每次执行gitbook build又太麻烦,而且浏览器直接打开book/index.html是不行的,会有跨域错误 所以,我们开始吧:

1. 安装gitbook

1
npm i gitbook-cli -g

2. 新建文档目录

1
2
3
mkdir book
cd book
gitbook init

之后,目录下会多出两个文件: README.md —— 书籍的介绍 SUMMARY.md —— 书籍的目录结构

3. 写个文件试试

1
2
3
4
5
6
|--book
|--README.md
|--SUMMARY.md
|--chapter1.md
|--section1.md
|--section2.md

chapter1.md 第一章 section1.md 第一节 section2.md 第二节

4. 编辑目录文件/SUMMARY.md

1
2
3
4
* [前言](README.md)
* [第一章](chapter1.md)
- [第一节](section1.md)
- [第二节](section2.md)

好了,你的目录页搞定了

5. 编译看看

1
gitbook serve

好了,你的命令行应该显示一个网址了localhost:4000 我们打开这个,就是我们需要的了 但是,我们发现,我们改动文件后保存,serve就崩了

6. 装个工具

1
npm i watch serve -g

这个可以用来监听文件,我们想要的是,监听到文件改变之后,自动执行gitbook build

7. 如何运行

1
serve _book&watch "gitbook build" ./

好了,可以了

后文

原本想的是用gulp,可以编写配置文件,能用的工具更多 但是考虑到这样会多出node_modules、package.json、gulpfile.js,这让人有点不爽,每次要开始一个新的文档,会耗费不少时间 而watch和serve都是全局工具,随时可以开始新的文档,很开心:smile: 此外,gitbook pdf&gitbook epub&gitbook mobi这几个命令需要安装calibre这个软件