使用Gitbook制作电子书
2015-12-11 14:11
239 查看
Gitbook是一个命令行工具,可以把你的Markdown文件汇集成电子书,并提供PDF等多种格式输出。你可以把Gitbook生成的HTML发布出来,就形成了一个简单的静态网站。Gitbook还有一个同名的平台(gitbook.io),可以发布和销售电子书,并提供了一个Markdown客户端工具(支持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中则包含了书目,即章节结构,它的格式大致是:
剩下的东西就很好理解了,你只需要编写相应章节即可。在编辑完README.md和SUMMARY.md后,你可以运行以下命令:
$ gitbook serve -p 8080 .
Gitbook首先把你的Markdown文件编译为HTML文件,并根据SUMMARY.md生成书的目录。所有生存的文件都保存在当前目录下的一个名为_book的子目录中。完成这些工作后,Gitbook会作为一个HTTP Server运行,并在8080端口监听HTTP请求。
运行以上命令后,打开浏览器,在地址栏输入:
其中位于左侧书目顶部的
Gitbook的插件支持
Gitbook可以生成HTML,因此它支持一些外部的JavaScript文件嵌入到HTML中,例如Google统计、Disqus评论系统等。以下以页面中嵌入Disqus评论为例。
首先是安装Gitbook的Disqus插件。
$ npm install gitbook-plugin-disqus
然后建立一个book.json文件,其格式如下:
把上面的
再次运行命令:
$ gitbook serve -p 8080 .
并刷新浏览器,即可看到附加了Disqus评论的页面。
与Github的融合
Gitbook的博客上说Github提供了对Gitbook的特殊支持,但我没有测试。只是依然把源文件保存在Github上,然后用Gitbook去编译。期待Gitbook做的更好。
Gitbook客户端
Gitbook客户端支持Mac、Windows、Linux。我在Mac和Windows简单尝试了这个客户端,总体而言可以用。但也仅仅是可以用而已。你可以在客户端里编辑Markdown文件,并提供一个实时的预览窗口;可以关联到你的Gitbook账户,并把内容同步到gitbook.io,并为你生成PDF等。说句题外话,如果你要Markdown的客户端的话,飞象马克更好用,至少Vim编辑模式你得支持啊。
Gitbook的问题
Gitbook网站的访问速度很慢。可以在生成_book目录后,把其中的HTML文件和gitbook子目录(包含字体和js文件等)复制到自己的网站上。
Gitbook提供的push功能不能用。push.gitbook.io这个地址无法访问,不知是否是临时性服务故障。
Gitbook生成PDF的中文字体极其难看。万分期待改进。话说Gitbook生存的HTML上的中文非常漂亮。
在我的手机上看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运行,并在8080端口监听HTTP请求。
运行以上命令后,打开浏览器,在地址栏输入:
http://localhost:8080即可看到你的书页了。
其中位于左侧书目顶部的
Introduction一节就编译自README.md,而书目本身自编译自SUMMARY.md。你要在自己的网站上发布新书,只需把_book目录复制到服务器相应目录即可。至此Gitbook的基本用法就介绍完毕。下面简单讨论下Gitbook的其他应用,包括Gitbook的插件、与Github的融合、Gitbook客户端、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做的更好。
Gitbook客户端
Gitbook客户端支持Mac、Windows、Linux。我在Mac和Windows简单尝试了这个客户端,总体而言可以用。但也仅仅是可以用而已。你可以在客户端里编辑Markdown文件,并提供一个实时的预览窗口;可以关联到你的Gitbook账户,并把内容同步到gitbook.io,并为你生成PDF等。说句题外话,如果你要Markdown的客户端的话,飞象马克更好用,至少Vim编辑模式你得支持啊。
Gitbook的问题
Gitbook网站的访问速度很慢。可以在生成_book目录后,把其中的HTML文件和gitbook子目录(包含字体和js文件等)复制到自己的网站上。
Gitbook提供的push功能不能用。push.gitbook.io这个地址无法访问,不知是否是临时性服务故障。
Gitbook生成PDF的中文字体极其难看。万分期待改进。话说Gitbook生存的HTML上的中文非常漂亮。
在我的手机上看Gitbook的页面时,会让浏览器挂掉。
相关文章推荐
- Android自动填充短信验证码
- jquery获取选中radio的值
- 拉丁猪文字游戏
- Bag of Words(词袋模型)
- 黑马程序员——Java基础---数据类型
- wc
- Android 事件分发机制
- 游戏应用快速审核上架
- resin4的jersery(jws)的兼容问题
- 如何允许 WinXP 和 Win7 自动创建 dump 文件
- 三重奏
- Linux下amr转mp3方法
- 给Salt-Master添加增强版的白名单功能
- 任务四 娱乐相关节目和娱乐人物关系代码整理
- 详说 Cookie, LocalStorage 与 SessionStorage
- 使用www加载的坑
- Java NIO原理图文分析及代码实现
- 在android中使用高德地图进行定位
- openstack devstack RTNETLINK answers: Network is unreachable
- js中的document.write