使用 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 服務生效。全自動的,是否是很優雅?哈哈。

順便作個廣告,這兩本書都是按照這種方式寫的:


向我捐助 | 關於我 | 工做機會

相關文章
相關標籤/搜索