一 GitBook介绍

GitBook 是一个使用 Git 和 Markdown 来构建书籍的工具。它可以将你的书输出很多格式:PDF,ePub,mobi,或者输出为静态网页。

GitBook工具链是开源并且完全免费的,它的源码可以在 GitHub 上获取。

意思是 GitBook其实就是一个命令行工具

而 GitBook.com是一个 GitBook 的平台,有点类似于Github,而gitbook面向书籍。

二 工作流程图

简单地画了一个工作流程图:

不过这个图没有体现出多人合作,仅仅是个人工作。个人整体用下来,其实还是直接用gitbook editor最舒服,最方便,写文档还是方便为主。

三 GitBook命令行工具的基本使用

1. 安装gitbook和使用

1)准备工作

安装Gitbook需要安装Node.js,因为要用到npm。
node -v 查看node的版本号
npm -v 查看npm的版本号

2)NPM安装gitbook cli

$ npm install gitbook-cli -g

3)初始化项目

创建目录,切换到目录下,执行:gitbook init
会自动创建 README.md 和 SUMMARY.md 这两个必须文件;README.md 是对书籍的简单介绍;SUMMARY.md 是书籍的目录结构。

4) 预览电子书内容

gitbook build . ./output
根据 gitbook init 生成的 md 文件生成对应的 html 文件;output为要输出的目录,不写默认为电子书项目目录中创建一个名为“_book”的文件夹

gitbook serve
本地预览,浏览器打开http://localhost:4000进行预览;退出命令行结束预览

5)常用命令

gitbook help //列出gitbook所有的命令
gitbook –help //输出gitbook-cli的帮助信息
gitbook build –gitbook=2.0.1 //生成时指定gitbook的版本, 本地没有会先下载
gitbook ls //列出本地所有的gitbook版本
gitbook ls-remote //列出远程可用的gitbook版本
gitbook fetch 标签/版本号 //安装对应的gitbook版本
gitbook update //更新到gitbook的最新版本
gitbook uninstall 2.0.1 //卸载对应的gitbook版本
gitbook build –log=debug //指定log的级别
gitbook builid –debug //输出错误信息

四 gitbook.com平台的使用

1. 注册Gitbook.com

官网:https://www.gitbook.com

2. 使用方式——远程仓库构建

1)直接在gitbook.com上创建,撰写,发布等等

gitbook官网国内打开速度有时候简直感人,不推荐在上面直接耍。

  • 创建普通的一些文档类型:

    其他操作,都很简单明了,这里不一一说了。

2)使用Gitbook Editor

类似于一个集成了Markdown编辑器的git管理软件;但是这个软件国内下载速度简直扎心。

登录后,会有gitbook远程的书籍数据,可以clone打本地进行编辑,然后保存推送等等操作。

gitbook上还没创建的话会提示到gitbook.com上创建,本地创建的是本地书籍。

其它的操作也是所见即所得,比较简单明了。

3. Gitbook + Github协同工作

  1. 先到Gitbook官网设置setting的Github部分;设置与Github帐号的关联,并添加github的gitbook支持。

  2. Github创建一个要用来关联的repository。

  3. 创建一个与github关联的书籍,左侧选择github,右侧选择一个github的项目(如果上一步integration设置好了就有了),填好信息Create。

  4. 完成之后就创建了一个与github仓库关联的书籍,创建了关联的好处在于;可以像平时玩github一样在github来更新你的gitbook书籍,而同时也可以用gitbook/gitbook editor,git操纵gitbook来更新;两边会同步。

五 使用Git更新书本

通过 Git 命令行来推送内容更新你的书本

1) GIT Url

git url的格式是:
https://git.gitbook.com/{{UserName}}/{{Book}}.git
(GitBook的git服务器暂时还不支持ssh协议)

2) 在Git命令行创建一个新的仓库

touch README.md SUMMARY.md
git init
git add README.md SUMMARY.md
git commit -m “first commit”
git remote add gitbook https://git.gitbook.com/{{UserName}}/{{Book}}.git
git push -u gitbook master

3. 推送一个已存在的仓库

git remote add gitbook https://git.gitbook.com/{{UserName}}/{{Book}}.git
git push -u gitbook master

六 编写书籍

剩下的就是好好写东西了。
编写书籍的格式,markdown的语法,gitbook文件的格式等可以查看这个文档:gitbook-documentation