GitBook 完整支援 GitHub,你可以把所有撰寫、編輯書籍所需的草稿與素材都擺放在 GitHub。
首先你必須先讓 GitBook 獲得存取你的 GitHub 帳號的權限,才能夠同步資料。
從 GitBook 後台的 account settings,點擊連接你的 GitHub 帳號,取得以下權限:
在 GitBook 新建書籍時,從 GitHub
頁籤可以選擇要從哪個 GitHub 倉儲匯入內容。
一旦選定之後,書籍會根據你倉儲內的內容建立,也自動建立了一個 webhook。
Webhooks 會在你的 GitHub 內容異動後,代為通知 GitBook。
如果你異動了 GitHub 倉儲,GitBook 卻沒有被同步更新,最常見的問題就是 webhook 出錯了。從倉儲設定頁面可以檢查 webhook 的執行紀錄與狀態。
當你已經設定好 GitHub 帳號與 GitBook 帳號的連接,讓書籍與倉儲連接與同步就很簡單。
注意: 當一本書被指定了與 GitHub 倉儲的連接後,優先權高於 GitBook 自己的倉儲。換句話說,此時打開線上編輯器、修改內容,被修改的是 GitHub 倉儲裡面的內容。
同步是單向的,只有異動 GitHub 倉儲內容會驅動製書程序。未設定連接 GitHub 的書籍都是使用 GitBook 自己的倉儲,假如你編輯了一些內容,還沒有轉製電子書,又在此時設定了與 GitHub 倉儲的連接,那麼這些異動不會被同步到 GitHub。
YourGitHubUserName/RepoName
)如果權限設定無誤,你現在就可以使用線上編輯器,直接修改 GitHub 倉儲中的資料了,當你提交異動到 GitHub,將會驅動在 GitBook 上的製書程序。
如果你連接了書籍與 GitHub 倉儲,提交異動內容後 GitBook 卻沒有開始進行製書程序,首先要檢查的就是到 GitHub 倉儲頁面看看 webhook 有沒有被正確加入。萬一沒有,回到 GitBook 的設定頁面點擊加入按鈕,再試看看。
如果你把書移交給另一個擁有者,webhook 就失效了,你必須重新加入一次。