GitBook安装、配置、制作电子书

GitBook 是一款基于 Node.js 开发的开源的工具,可以通过命令行的方式创建电子书项目,再使用 MarkDown 编写电子书内容,然后生成 PDF、ePub、mobi 格式的电子书,或生成一个静态站点。

除此之外,还可以利用 Git 命令管理电子书版本。如果你是 GitHub 的重度使用者,还可以把你的 GitBook 帐户和 GitHub 帐户关联起来,这样不论在任何一方修改了内容,都可以互相同步。

一、安装 Node.js

由于 GitBook 是基于 Node.js 开发的,所以依赖 Node.js 环境。如果您的系统中还未安装 Node.js,请点击下面的链接,根据你所使用的系统下载对应的版本。如果已安装则略过本步骤。

Node.js 下载页面:https://nodejs.org/en/download/stable/

Windows 版和 Mac 版的 Node.js 都是常规的安装包,连续下一步安装即可。Lunix 版可以参照官方文档通过 yum、apt-get 之类的工具安装,也可以通过源码包安装,如下所示:

$ wget https://nodejs.org/dist/v5.4.1/node-v5.4.1.tar.gz$ tar zxvf node-v5.4.1.tar.gz$ cd node-v5.4.1$ ./configure$ make$ make install

二、安装 GitBook

打开“命令提示符”(Mac 系统打开“终端”)输入以下命令安装 GitBook:

$ npm install gitbook-cli -g

由于网络的原因,安装的时间可能会较长一些,请耐心等待直到安装完成。安装完成后可以输入以下命令,以查看 GitBook 版本的方式检查是否安装成功:

$ gitbook -V

三、创建电子书项目

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

$ mkdir MyFirstBook
$ cd MyFirstBook
$ gitbook init

四、编辑电子书内容

初始化后的目录中会出现“README.md(电子书简介文件)”和“SUMMARY.md(导航目录文件)”两个基本文件。除此之外还可以手动新建其它“Glossary.md(书尾的词汇表)”、“book.json(电子书配置文件)”。
电子书的正文内容可以根据自己的喜好创建新的后缀为 .md 文件,如“chapter01.md”,然后用 MarkDown 编写具体的文本内容即可。下面对这些文件分别做详细介绍。

1、README.md

此文件是简单的电子书介绍,可以把您所制作的电子书做一下简单的描述:

# 简介

这是我的第一本使用 GitBook 制作的电子书。

2、SUMMARY.md

此为电子书的导航目录文件,每当新增一个章节文件就需要向此文件中添加一条记录。对于 Kindle 电子书来说,此文件所呈现的目录结构就是开头的目录内容和“前往”的目录导航。

# Summary

* [简介](README.md)
* [第一章](section1/README.md)
* [第二章](section2/README.md)

如果需要“子章节”可以使用 Tab 缩进来实现(最多支持三级标题),如下所示:

# Summary

* [第一章](section1/README.md)
    * [第一节](section1/example1.md)
    * [第二节](section1/example2.md)
* [第二章](section2/README.md)
    * [第一节](section2/example1.md)

3、Glossary.md

对于电子书内容中需要解释的词汇可在此文件中定义。词汇表会被放在电子书末尾。其格式如下所示:

# 电子书
电子书是指将文字、图片、声音、影像等讯息内容数字化的出版物和植入或下载数字化文字、图片、声音、影像等讯息内容的集存储和显示终端于一体的手持阅读器。

# Kindle
Amazon Kindle 是由 Amazon 设计和销售的电子书阅读器(以及软件平台)。用户可以通过无线网络使用 Amazon Kindle 购买、下载和阅读电子书、报纸、杂志、博客及其他电子媒体。

4、book.json

“book.json”是电子书的配置文件,可以看作是电子书的“原数据”,比如 title、description、isbn、language、direction、styles 等,更多点击这里查看。它的基本结构如下所示:

{
    "title": "我的第一本電子書",
    "description": "用 GitBook 制作的第一本電子書!",
    "isbn": "978-3-16-148410-0",
    "language": "zh-tw",
    "direction": "ltr"
}

5、普通章节.md 文件

普通章节.md 文件可以使用您感觉顺手的文本编辑器编写。MarkDown 的写法可以点击这里查看相关示例。每编写一个 .md 文件,不要忘了在“SUMMARY.md”文件中添加一条记录哦。

6、电子书封面图片

GitBook 帮助文档建议封面图片的尺寸为 1800*2360 像素并且遵循建议:

  • 没有边框
  • 清晰可见的书本标题
  • 任何重要的文字在小版本中应该可见

图片的格式为 jpg 格式。把图片重命名为“cover.jpg”放到电子书项目文件夹即可。

五、预览电子书内容

电子书内容编写完毕后可以使用浏览器预览一下。先输入下面的命令据 .md 文件生成 HTML 文档:

$ gitbook build

生成完毕后,会在电子书项目目录中出现一个名为“_book”的文件夹。进入该文件夹,直接用浏览器打开“index.html”,或先输入下面的命令:

$ gitbook serve

然后在浏览器中输入“http://localhost:4000”即可预览电子书内容,预览完毕后按 Ctrl + C 结束。

六、生成电子书文件

确定电子书没有问题后,可以通过输入以下命令生成 mobi 电子书:

$ gitbook mobi ./ ./MyFirstBook.mobi

如果出现以下错误提示,说明您还未安装 Calibre。由于 GitBook 生成 mobi 格式电子书依赖 Calibre 的 ebook-convert,所以请先点击这里下载安装 Calibre。

Error: Need to install ebook-convert from Calibre

Calibre 安装完毕后,对于 Mac OS X 系统,还需要先设置一下软链接:

$ ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin

再次运行转换命令,即可生成 mobi 格式电子书。

七、把项目托管到 GitBook.com

以上所有的步骤都是在本地进行的,如果需要实现电子书的版本管理,或者把电子书发布到网络上,还可以通过 Git 命令将本地的项目托管到 GitBook.com 上。

1、注册 GitHub.com 账号

首先进入 GitBook.com 注册一个账号,并新建一个项目。在“Setting(设置)”页面获取到“Git URL(Git 链接)”,链接的样子如下所示:

https://git.gitbook.com/kindlefere/myfirstbook.git

2、安装 Git 软件

在开始下面的步骤之前请先确保您的系统中已经安装了 Git。一般 Mac 和 Lunix 自带 Git 功能,可以在终端运行 git --version 查看 Git 版本。Windows 一般不会自带 Git 功能,请点击这里下载先安装。

在安装 Windows 版的 Git 时,会看到“Use Git from Git Bash only”和“Use Git from the Windows Command prompt”两个选项。前者指的在程序自带的独立终端中使用 Git。后者是指可以通过系统自带的“命令提示符”使用 Git 命令。可以根据自己的喜好选择,个人推荐使用后者。

3、上传已有的电子书项目

在本地新建一个文件夹,并通过 Git 命令把刚才新建的远程项目抓取到本地,如下所示:

$ mkdir MyFirstBook-Git$ cd MyFirstBook-Git
$ git init$ git pull https://git.gitbook.com/kindlefere/myfirstbook.git

然后把本地项目“MyFirstBook”中的所有内容拷贝到刚才新建的文件夹中,如上面的“MyFirstBook-Git”。然后使用 Git 命令把本地的项目上传到远程,如下所示:

$ git add -A$ git commit -m "提交说明"
$ git remote add gitbook https://git.gitbook.com/kindlefere/myfirstbook.git
$ git push -u gitbook master

期间需要输入你的 GitBook 注册邮箱和密码。今后修改内容后只需要输入以下 Git 命令即可:

$ git add [修改的文件]$ git commit -m "提交说明"
$ git push -u gitbook master

八、把项目关联到 GitHub 帐户

如果你喜欢使用 GitHub 管理项目。还可以把您的 GitBook 帐户和 GitHub 帐户关联起来,这样两者的修改内容就可以互相同步了。

1、关联 GitBook 和 GitHub 帐户

关联设置也很简单,首先进入 GitBook 的“Account Settings(帐户设置)”页面,在“Profile(个人资料)”标签页找到“GitHub”选项卡,点击【Connect to GitHub】按钮会转向 GitHub 的“Authorize application”页面,点击【Authorize application】按钮即可完成关联。

2、把 GitBook 项目导入到 GitHub

完成关联后即可设置同步电子书项目了。以电子书项目“MyFirstBook”为例,首先需要把项目导入到 GitHub 中一份。进入某个电子书项目的设置页面,切换到“GitHub”选项卡。在“GitHub Repository”中,点击【Export to GitHub】按钮,按照向导所示步骤将项目导入 GitHub 中。

3、设置 GitBook 和 GitHuB 同步

导出成功后,再回到 GitBook 项目设置页面的“GitHub”选项卡,在“GitHub Repository”中的输入框中填入 GitHub 的 Repository 名,如“GitHub用户名/myfirstbook”,点击【Save】按钮保存。

保存后当前页面会出现一个名为“Integration”的选项卡,点击里面的【Add webhook】按钮,允许 GitBook 接收 Github 的内容更新。这样就把 GitBook 上的项目和 GitHub 相对应的项目关联上了。

此后即可用 GitHub 管理电子书项目,在 GitBook 上对电子书内容修改也会自动同步到 GitHub 中。

本文参考:GitBook制作电子书详细教程(命令行版)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容