Gitbook是一个命令行工具,能够把你的Markdown文件汇集成电子书,并提供PDF等多种格式输出。
你能够把Gitbook生成的HTML公布出来,就形成了一个简单的静态站点。
Gitbook另一个同名的平台(gitbook.io),能够公布和销售电子书。并提供了一个Markdownclient工具(支持Mac、Windows和Linux)帮助写作。下面是我在使用Gitbook中的笔记。
首先Gitbook和Git/Github都没有什么关系。它仅仅是一个build book的工具而已。但它的Git前缀的确引起了很多人的迷惑,起初我觉得至少它也是个和Github类似的Git平台吧,但事实上没什么关系,你仅仅要懂几条markdown语法,不必理解不论什么与Git相关的东西就能用Gitbook了,不要为其名字迷惑。
第0步 安装npm(Node Package Manager)。
从node.js的官网上下载安装程序。就可以完毕Node.js和npm的安装。
第1步 通过npm安装Gitbook。
$ npm install gitbook -g
完毕后花10分钟阅读下Gitbook的帮助文档。假设你没耐心看手冊,那就继续往下读吧 :D
第2步 了解Gitbook的基本规则。
Gitbook须要2个基本文件:
- README.md
- SUMMARY.md
README.md是关于你的书的介绍,而SUMMARY.md中则包括了书目,即章节结构。它的格式大致是:
* [第1章](c1.md)
* [第1节](c1s1.md)
* [第2节](c1s2.md)
* [第2章](c2.md)
剩下的东西就非常好理解了,你仅仅须要编写对应章节就可以。在编辑完README.md和SUMMARY.md后,你能够执行下面命令:
$ gitbook serve -p 8080 .
Gitbook首先把你的Markdown文件编译为HTML文件,并依据SUMMARY.md生成书的文件夹。
全部生存的文件都保存在当前文件夹下的一个名为_book的子文件夹中。
完毕这些工作后,Gitbook会作为一个HTTP Server执行。并在8080port监听HTTP请求。
执行以上命令后,打开浏览器。在地址栏输入:http://localhost:8080
就可以看到你的书页了。
当中位于左側书目顶部的Introduction
一节就编译自README.md,而书目本身自编译自SUMMARY.md。你要在自己的站点上公布新书,仅仅需把_book文件夹拷贝到server对应文件夹就可以。至此Gitbook的基本使用方法就介绍完成。以下介绍下Gitbook的其它应用。包含Gitbook的插件、与Github的融合、Gitbookclient、Gitbook平台,以及Gitbook的问题。
Gitbook的插件支持
Gitbook能够生成HTML,因此它支持一些外部的JavaScript文件嵌入到HTML中,比如Google统计、Disqus评论系统等。
下面以页面中嵌入Disqus评论为例。
首先是安装Gitbook的Disqus插件。
$ npm install gitbook-plugin-disqus
然后建立一个book.json文件。其格式例如以下:
{
"plugins": ["disqus"],
"pluginsConfig": {
"disqus": {
"shortName": "NAME-FROM-DISQUS"
}
}
}
把上面的NAME-FROM-DISQUS
改动为你在Disqus上的项目名就可以。
再次执行命令:
$ gitbook serve -p 8080 .
并刷新浏览器,就可以看到附加了Disqus评论的页面。
与Github的融合
Gitbook的博客上说Github提供了对Gitbook的特殊支持,但我没有測试。仅仅是依旧把源文件保存在Github上,然后用Gitbook去编译。
期待Gitbook做的更好。
Gitbookclient
Gitbookclient支持Mac、Windows、Linux。我在Mac和Windows简单尝试了这个client,整体而言能够用。但也不过能够用而已。你能够在client里编辑Markdown文件,并提供一个实时的预览窗体。能够关联到你的Gitbook账户,并把内容同步到gitbook.io,并为你生成PDF等。说句题外话,假设你要Markdown的client的话,飞象马克更好用,至少Vim编辑模式你得支持啊。
Gitbook的问题
Gitbook站点的訪问速度非常慢。
能够在生成_book文件夹后,把当中的HTML文件和gitbook子文件夹(包括字体和js文件等)拷贝到自己的站点上。
Gitbook提供的push功能不能用。push.gitbook.io这个地址无法訪问。
Gitbook生成PDF的中文字体极其难看。
在我的手机上看Gitbook的页面时,会让浏览器挂掉。
话说我也是个Gitbook新手呢,有理解不正确的请大家不吝赐教 :-)