介绍GitBook安装和使用

安装

GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML、PDF、eBook 等格式的电子书。所以我更喜欢把 GitBook 定义为文档格式转换工具。

因为 GitBook 是基于 Node.js,所以我们首先需要安装 Node.js

1
2
3
4
5
6
7
8
9
10
11
// 检查是否有Node.js环境
$ node -v

// 如果没有node环境的,先安装Node环境
$ brew install node

// 现在安装 Node.js 都会默认安装 npm(node 包管理工具),所以我们不用单独安装 npm,打开命令行,执行以下命令安装 GitBook:
npm install -g gitbook-cli

// 检查是否安装成功
gitbook -v

使用

想象一下,现在你准备构建一本书籍,你在硬盘上新建了一个叫 mybook 的文件夹,按照以前的做法,你会新建一个 Word 文档,写上标题,然后开始巴滋巴滋地笔耕。但是现在有了 GitBook,你首先要做的是在 mybook 文件夹下执行以下命令:

1
gitbook init

执行完后,你会看到多了两个文件 —— README.md 和 SUMMARY.md,它们的作用如下:

README.md —— 书籍的介绍写在这个文件里
SUMMARY.md —— 书籍的目录结构在这里配置

然后就是编辑这个书的目录了,实际上需要一个支持MarkDown的编辑器,我们使用VSCode,来编辑 README.md 和 SUMMARY.md文件

编辑 SUMMARY.md 文件,内容修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

* [Python 基础](README.md)
* 1.python基础
* [1.1.认识Python](day01/01-Python简介.md)
* [1.2.第一个Python程序](day01/02-第一个程序.md)
* [1.3.Pycharm设置(知道)](day01/03-Pycharm设置(知道).md)
* [1.4.多文件项目的演练](day02/04-多文件项目的演练.md)
* [1.5.注释](day02/05-注释.md)
* [1.6.算数运算符](day02/06-算数运算符.md)
* [1.7.程序执行原理(科普)](day02/07-程序执行原理(科普).md)
* [1.8.变量的基本使用](day02/08-变量的基本使用.md)
* day03
* [1.9.变量的命名](day03/09-变量的命名.md)
* [1.10.判断(if)语句](day03/10-判断(if)语句.md)
* [1.11.运算符](day03/11-运算符.md)
* [1.12.循环](day03/12-循环.md)
* day04
* [函数基础](day04/函数基础.md)
* day05
* [高级变量类型](day05/高级变量类型.md)
* day06
* [综合应用——名片管理系统](day06/综合应用——名片管理系统.md)
* day07
* [变量进阶(理解)](day07/变量进阶(理解).md)
* [函数进阶](day07/函数进阶.md)

然后我们回到命令行,在 mybook 文件夹中再次执行gitbook init命令。GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建。

接着我们执行gitbook serve 来预览这本书籍,执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,最后提示 “Serving book on http://localhost:4000”。嗯,打开浏览器看一下吧.

当你写得差不多,你可以执行 gitbook build 命令构建书籍,默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。

当然,build 命令可以指定路径:

1
gitbook build [书籍路径] [输出路径]

serve 命令也可以指定端口:

1
gitbook serve --port 2333

你还可以生成 PDF 格式的电子书:

1
2
3
gitbook pdf ./ ./mybook.pdf
gitbook epub ./ ./mybook.epub
gitbook mobi ./ ./mybook.mobi

如果生成不了,你可能还需要安装一些工具,比如 ebook-convert。或者在 Typora 中安装 Pandoc 进行导出。

此时基本就完成了。

安装过程中遇到的问题

  1. gitbook init超时
    解决:替换npm的源

  2. gitbook build生成的html本地不能跳转
    解决:修改书籍下”theme.js”文件的内容。把if(m)for(替换为if(false)for(

评论