github方案

    github方案是指采用github提供的git仓库存储书籍内容,并使用github pages服务发布HTML内容。

    适合用于公共环境,比如存放一些公开信息(如我喜欢的各种学习笔记)。

    github提供的git仓库,简单新建仓库,然后提交书籍内容即可。

    将gitbook生成的html page发布github pages上(实际是提交内容到gh-pages 分支),如果没有工具,会非常的麻烦。

    好在 grunt (算是这个nodejs世界下的maven?)提供了支持,可以方便的实现我们需要的功能。

    简单通过 npm 命令可以安装:

    1. grunt-cli v0.1.13

    准备package.json和Gruntfile.js文件

    package.json 文件用来配置 nodejs 的依赖(类似maven中的pom.xml里面的段), 参考内容如下,自行修改即可:

    Gruntfile.js 文件是 grunt 的配置文件和脚本,参考内容如下:

    Gruntfile.js

    下面是 Gruntfile.js 中最重要的内容,git仓库的信息一定要正确填写:

    本地测试

    grunt 安装好之后,在本机编辑书籍内容时,可以用 grunt 启动服务器:

    1. grunt test

    这个方法类似 (实际里面也调用了gitbook的命令),之后打开浏览器(grunt脚本中有自动打开浏览器的设置)访问即可.日志如下:

    终于到最后一步了,我们的目标是要将build 出来的内容(_book目录下)发布到github,存放在gh-pages分支。此时需要的只是一个简单命令:

    1. grunt publish

    可以看到如下的日志:

    浏览发布内容

    从浏览器中直接访问就可以看到发布的结果:

    1. 则github pages的URL是 http://skyao.github.io/leaning-gitbook/,格式是 “$account.github.io/$repo”,注意域名从github.com变成了github.io

    在使用 grunt 之后,发布到github pages就方便多了。