使用 travis + gitbook + github pages 優雅地發佈本身的書

做者: 一波不是一波

轉載請註明出處並保留原文連接( https://github.com/riskers/bl... )和做者信息。html

這篇文章教你怎麼用 gitbook + travis 在 github pages 上優雅地發佈書籍。git

模板: https://github.com/riskers/gi...

效果: https://riskers.github.io/git...github

項目結構

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

cd gitbbok-template && rm -rf .git # 去掉模板中的歷史記錄

修改模板:shell

  • .travis.yml:json

    • recipients: 修改爲你的郵件
    • REF: 修改你項目的 github 地址
  • book.json: 修改 gitbook 相應配置,不是這裏的重點,很少介紹。配置結果見 https://riskers.github.io/git...,可根據喜愛本身修改
  • chap01chap02 對應 SUMMARY.md 中的地址,就是這本書的內容了。

而後就是在 github 上新建一個項目,而且 push 上去,而後你能看見這樣的項目結構:bash

github pages

若是沒有註冊過 github pages 服務,還要先註冊(註冊過程略)。gitlab

新建 gh-pages 分支:ui

git checkout -b gh-pages
git push origin gh-pages

在項目『Settings』-> 『GitHub Pages』開啓 github pages 服務:spa

<img src="https://i.imgur.com/mLt9b1L.j...; width="300" />code

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

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


向我捐助 | 關於我 | 工做機會
相關文章
相關標籤/搜索