Gitbook 是基于 Node.js 的命令行工具,用来创建漂亮的电子书,它使用 Markdown 或 AsciiDoc 语法来撰写内容,用 Git 进行版本控制,且可以托管在 Github 上。Gitbook 可以将作品编译成网站、 PDF、 ePub 和 MOBI 等多重格式。

1. 安装

首先,安装 Node.js。GitBook 依赖 Node.js 环境。如果您的系统中还未安装 Node.js,请到 Node.js官方网站,根据你所使用的系统下载对应的版本。如果已安装则略过本步骤。

第二,安装 GitBook 命令行工具。

  1. $ npm install gitbook -g
  2. $ ll /usr/local/software/node-v6.12.0/bin/gitbook
  3. lrwxrwxrwx 1 shenweiyan bioinfo 42 Sep 6 10:39 /usr/local/software/node-v6.12.0/bin/gitbook -> ../lib/node_modules/gitbook/bin/gitbook.js
  4. $ gitbook -h
  5. You need to install "gitbook-cli" to have access to the gitbook command anywhere on your system.
  6. If you've installed this package globally, you need to uninstall it.
  7. >> Run "npm uninstall -g gitbook" then "npm install -g gitbook-cli"
  8. shenweiyan@ecs-steven 11:15:01 /ifs1
  9. # gitbook-cli 是 gitbook 的一个命令行工具, 通过它可以在电脑上安装和管理 gitbook 的多个版本.
  10. $ npm install -g gitbook-cli
  11. $ gitbook -h
  12. Usage: gitbook [options] [command]
  13. Options:
  14. -v, --gitbook [version] specify GitBook version to use
  15. -d, --debug enable verbose error
  16. -V, --version Display running versions of gitbook and gitbook-cli
  17. -h, --help output usage information
  18. Commands:
  19. ls List versions installed locally
  20. current Display currently activated version
  21. ls-remote List remote versions available for install
  22. fetch [version] Download and install a <version>
  23. alias [folder] [version] Set an alias named <version> pointing to <folder>
  24. uninstall [version] Uninstall a version
  25. update [tag] Update to the latest version of GitBook
  26. help List commands for GitBook
  27. * run a command with a specific gitbook version

2. 制作文档步骤

使用 GitBook命令行工具制作文档的步骤,如下:

2.1 新建 GitBook 项目

新建一个目录,并进入该目录使用 gitbook 命令初始化电子书项目。举个例子,现在要创建一个名为“MyBook”的空白电子书项目,如下所示:

  1. mkdir MyBook #新建目录
  2. cd MyBook #进入目录
  3. gitbook init #初始化目录

初始化后的目录中会出现“README.md”和“SUMMARY.md”两个基本文件。每个作品目录中这两个文件都是必须的。README.md 是作品的介绍,SUMMARY.md 是作品的目录结构,里面要包含一个章节标题和文件索引的列表

2.2 编辑电子书内容

首先,GitBook 使用 SUMMARY.md 文件组织整个内容的目录,如:

  1. # Summary
  2. * [简介](README.md)
  3. * [常见问题](Faq.md)

如上面目录中“常见问题”章节的内容,就存放在名为 Faq.md 的纯文本文件中,md 文件使用 markdown 语法 编辑,规则非常简单,几分钟就可以学会。

2.3 预览电子书

当内容书写完毕后,可以在终端中输入如下命令,实现实时预览:

  1. gitbook serve

gitbook serve 命令实际上会首先调用 gitbook build 编译书籍,完成以后会打开一个 web 服务器,监听本地 4000 端口,在浏览器中输入 http://localhost:4000,即可打开电子书。

2.4 发布电子书

当电子书内容制作好后,可以使用如下命令,生成 html 版本的电子书:

  1. gitbook build

该命令会在当前文件夹中生成 _book 文件夹,用户可以将这个文件夹内容托管到网上,从而实现内容的发布。

3. 制作多级目录

GitBook 使用 SUMMURY.md 文件实现目录结构的设定,在该文件中,可以通过缩进实现多级目录的效果,如:

  1. * [第一章](section1/README.md)
  2. * [第一节](section1/example1.md)
  3. * [第二节](section1/example2.md)
  4. * [第二章](section2/README.md)
  5. * [第一节](section2/example1.md)

如上所示,章节的 md 文件,还可以存放在子文件夹中。另外,GitBook 的目录,限定为三级。

用户还可以通过使用标题或者水平分割线标识将 GitBook 目录分为几个不同的部分:

  1. # Summary
  2. ### Part I
  3. * [Introduction](README.md)
  4. * [Writing is nice](part1/writing.md)
  5. * [GitBook is nice](part1/gitbook.md)
  6. ### Part II
  7. * [We love feedback](part2/feedback_please.md)
  8. * [Better tools for authors](part2/better_tools.md)
  9. ----
  10. * [Last part without title](part3/title.md)