作者: 一波不是一波转载请注明出处并保留原文链接( https://github.com/riskers/bl... )和作者信息。
这篇文章教你怎么用 gitbook + travis 在 github pages 上优雅地发布书籍。
模板: https://github.com/riskers/gi...
项目结构
git clone https://github.com/riskers/gitbook-template
cd gitbbok-template && rm -rf .git # 去掉模板中的历史记录
修改模板:
-
.travis.yml
:- recipients: 修改成你的邮件
- REF: 修改你项目的 github 地址
-
book.json
: 修改 gitbook 相应配置,不是这里的重点,不多介绍。配置结果见 https://riskers.github.io/git...,可根据喜好自己修改 -
chap01
和chap02
对应SUMMARY.md
中的地址,就是这本书的内容了。
然后就是在 github 上新建一个项目,并且 push 上去,然后你能看见这样的项目结构:
github pages
如果没有注册过 github pages 服务,还要先注册(注册过程略)。
新建 gh-pages
分支:
git checkout -b gh-pages
git push origin gh-pages
在项目『Settings』-> 『GitHub Pages』开启 github pages 服务:
<img src="https://i.imgur.com/mLt9b1L.j...; width="300" />
Travis
给这个项目开启 Travis 服务: https://github.com/marketplac...
最后你应该能看到这个界面:
在个人设置里申请 token 好让 Travis 有权限改这个项目:
然后选择 repo,点击生成按钮:
复制生成的 token,填写在 Travis 的设置-全局变量中,并且取名为 TOKEN
:
试试效果
添加一行字:
然后 push 上去,可以看到 Travis CI 在跑了:
稍作等待,跑完之后,可以在 gh-pages 下看到 Travis CI 给我们推过来了 gitbook build 之后的内容:
可以在 github pages https://riskers.github.io/git... 上看到效果:
完成!
后续
这一阵在用 gitbook 写一本电子书,发现多于两本就要收费了,而老版本是不收费的,所以我最近一直在用老版本。但可能是维护少的原因,老版本的同步总是不及时,于是我放弃了 gitbook 服务。
本来想在本地 gitbook build,然后 push 到 pages 服务,但是这样太不优雅了,就琢磨了一下怎么用 CI 来做这件事,刚好之前在公司折腾过一阵 gitlab ci,很快就解决了。
至此,我做到了在 master 上写 md
,然后 push 到 master, Travis 自动执行 gitbook build
,并且把生成好的文档 push 到 gh-pages
,好让 pages 服务生效。全自动的,是不是很优雅?哈哈。
顺便做个广告,这两本书都是按照这种方式写的:
- rxjs-note: https://riskers.github.io/rxj...
- flutter-notebook: https://riskers.github.io/flu...
向我捐助 | 关于我 | 工作机会
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。