简介

GitBook是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。
GitBook支持输出多种文档格式:

  • 静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上,作为个人博客(ps:此博客就是使用此方法搭建)
  • PDF:需要安装gitbook-pdf依赖
  • eBook:需要安装ebook-convert
  • 单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程
  • JSON:一般用于电子书的调试或元数据提取

使用GitBook制作电子书,必备两个文件:README.md和SUMMARY.md

ps:原谅我可耻的抄了百科的内容,实在是想不出什么简介,词穷~~o(>_<)o ~~

安装

安装gitbook需要先安装nodejs,安装教程请看NodeJs安装

  1. 打开Cmd,安装gitbook
    Shell
    1
    npm install gitbook-cli -g
    由于“墙”的原因可能这里会卡住,一直处于安装状态,所以这里推荐两种方式进行安装:
    • 使用国内的淘宝源
      Shell
      1
      2
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      cnpm install gitbook-cli -g
    • 翻墙
      推荐使用开源软件蓝灯
  2. 安装后检查是否成功

    Shell
    1
    gitbook -V

    这个V要是大写的。出现下面两行信息表示安装成功,如果只出现了一行可能是安装不完整,node大概会继续执行安装(ps:安装的时候是自动继续安装的)

    显示结果

    Shell
    1
    2
    CLI version: 2.3.0
    GitBook version: 3.2.0

常用命令

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
gitbook -h # 查看帮助信息
gitbook versions # 查看本地安装的gitbook版本
gitbook versions:install # 安装最新版gitbook
gitbook versions:install 2.3.3 # 安装指定版本
gitbook versions:uninstall # 卸载当前选中版本
gitbook versions:uninstall 2.3.3 # 卸载指定版本
gitbook versions:link # 指定当前文件夹使用当前选中版本
gitbook versions:link 2.3.3 # 指定当前文件夹使用指定版本
gitbook versions:link path # 指定path使用指定版本
gitbook -v 2.3.3 # 指定当前使用哪个版本的gitbook
gitbook --gitbook 2.3.3 # 同上
gitbook init # 初始化一个仓库
gitbook install # 安装插件
gitbook serve [book] # 本地预览
gitbook serve --port 8001 # 指定端口
gitbook build repository PATH # 输出一个静态网站
gitbook pdf book pdf # 生成pdf文件
gitbook help # 查看帮助

图书项目结构

README.md和SUMMARY.md是Gitbook项目必备的两个文件,也就是一本最简单的GitBook也必须含有这两个文件,它们在一本Gitbook中具有不同的用处。

  • README.md
    这个文件相当于一本Gitbook的简介。
  • SUMMARY.md
    这个文件是一本书的目录结构,使用Markdown语法,一个简单的例子如下所示。
  • book.json
    此文件相当于配置文件,可在此文件中配置各种插件。
    JSON
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
    "gitbook": "2.x.x",
    "language": "zh-hans",
    "generator": "website",
    "styles": {
    "website": "Styles/website.css"
    },
    "plugins": [
    "disqus",
    "github",
    "splitter",
    "toggle-chapters",
    "-sharing",
    "-search",
    ],
    "pluginsConfig": {
    "disqus": {
    "shortName": "karlsunstrider"
    },
    "github": {
    "url": "https://github.com/karlsunstrider/karlsunstrider.github.io"
    }
    }
    }