使用 travis + gitbook + github pages 优雅地发布本身的书

做者: 一波不是一波html

转载请注明出处并保留原文连接( github.com/riskers/blo… )和做者信息。git

这篇文章教你怎么用 gitbook + travis 在 github pages 上优雅地发布书籍。github

模板: github.com/riskers/git…shell

效果: riskers.github.io/gitbook-tem…json

项目结构

git clone https://github.com/riskers/gitbook-template

cd gitbbok-template && rm -rf .git # 去掉模板中的历史记录
复制代码

修改模板:bash

  • .travis.yml:
    • recipients: 修改为你的邮件
    • REF: 修改你项目的 github 地址
  • book.json: 修改 gitbook 相应配置,不是这里的重点,很少介绍。配置结果见 riskers.github.io/gitbook-tem…
  • chap01chap02 对应 SUMMARY.md 中的地址,就是这本书的内容了。

而后就是在 github 上新建一个项目,而且 push 上去,而后你能看见这样的项目结构:gitlab

github pages

若是没有注册过 github pages 服务,还要先注册(注册过程略)。ui

新建 gh-pages 分支:spa

git checkout -b gh-pages
git push origin gh-pages
复制代码

在项目『Settings』-> 『GitHub Pages』开启 github pages 服务:code

Travis

给这个项目开启 Travis 服务: github.com/marketplace…

最后你应该能看到这个界面:

我的设置里申请 token 好让 Travis 有权限改这个项目:

而后选择 repo,点击生成按钮:

复制生成的 token,填写在 Travis 的设置-全局变量中,而且取名为 TOKEN:

试试效果

添加一行字:

而后 push 上去,能够看到 Travis CI 在跑了:

稍做等待,跑完以后,能够在 gh-pages 下看到 Travis CI 给咱们推过来了 gitbook build 以后的内容:

能够在 github pages riskers.github.io/gitbook-tem… 上看到效果:

完成!

后续

这一阵在用 gitbook 写一本电子书,发现多于两本就要收费了,而老版本是不收费的,因此我最近一直在用老版本。但多是维护少的缘由,老版本的同步老是不及时,因而我放弃了 gitbook 服务。

原本想在本地 gitbook build,而后 push 到 pages 服务,可是这样太不优雅了,就琢磨了一下怎么用 CI 来作这件事,恰好以前在公司折腾过一阵 gitlab ci,很快就解决了。

至此,我作到了在 master 上写 md,而后 push 到 master, Travis 自动执行 gitbook build,而且把生成好的文档 push 到 gh-pages,好让 pages 服务生效。全自动的,是否是很优雅?哈哈。

顺便作个广告,这两本书都是按照这种方式写的:


向我捐助 | 关于我 | 工做机会

相关文章
相关标签/搜索