gitbook 入門教程之發布電子書

2022-05-03 02:30:11 字數 4159 閱讀 6777

語法格式: gitbook build [book] [output]

預設情況下,gitbook輸出方式是靜態**,其實gitbook的輸出方式有三種:website,json,和ebook.

只不過另外兩種不是很常用,更多情況下我們是使用靜態網頁搭建個人官網,或託管到第三方平台,或部署到私有雲伺服器,但不管怎麼樣,還是離不開生成這一步.

示例:

# 預設輸出格式: `website`

$ gitbook build --format=website

# 更改輸出格式: `json`

$ gitbook build --format=json

# 更改輸出格式: `ebook`

$ gitbook build --format=ebook

預設情況下輸出目錄:_book/,整個專案的入口檔案是:index.html

本教程的電子書原始碼和輸出檔案均託管到github**,所以這裡介紹下如何利用github pages靜態網頁服務與gitbook進行整合.

github pagesgithub**推出的一種免費的靜態網頁託管服務,適合搭建靜態的專案主頁或個人官網.

其中,**專案的原始碼直接託管在github倉庫中,當倉庫檔案更新後,該倉庫所關聯的**自動更新,從而實現了原始碼與官網的聯動更新.

每個賬號有且只有乙個主頁站點,但允許無限制多的專案站點.

啥是主頁站點,專案站點又是啥?

別急,讓我先舉個例子看一下最終效果.

假如使用者名稱:zhangsan名下有四個公開倉庫,乙個倉庫名叫做:zhangsan.github.io,另外三種分別是:project01,project02,project03.

如果想要對外暴露上述四個倉庫作為我們的靜態**,那麼最終效果就是下面這樣的.

注意將zhangsan替換成自己的github使用者名稱,否則八成是打不開**,除非真的有zhangsan這個使用者.

其實上述規則很好理解,github**作為乙個託管中心,有成千上萬的使用者在使用github並且每個使用者的使用者名稱都是唯一並且不同的,因此*.github.io萬用字元網域名稱剛好充當命名空間.

可以預料的是,不僅僅有.github.io這種二級網域名稱,說不定還有api.github.io,docs.github.io等等,畢竟只需要購買*.github.io萬用字元網域名稱證書就可以支援任意多的二級網域名稱了,感謝github贈送我們免費的https**.

說到這裡,不得不吐槽下gitbook的命名空間策略了,gitbook也有自己的電子書託管服務,但訪問位址是.gitbook.io/.

很顯然,gitbook沒有區分主頁站點和專案站點,相當於全部都是專案站點,缺少主次之分.

閒言少敘,既然知道了輸入內容和輸出效果,那麼接下來的任務就是了解中間過程了,讓我們一起**下怎麼發布**吧!

主頁站點

建立.github.io公開倉庫

前往 **建立名為.github.io的公開倉庫.

比如我的使用者名稱是:snowdreams1006,那麼我的主頁站點倉庫就是:snowdreams1006.github.io

建立首頁index.html檔案

示例:

# 轉殖到本地

$ git clone username/username.github.io

# 切換到專案

$ cd username.github.io

# 建立 `index.html` 檔案

$ echo "hello world" > index.html

# 推送到遠端倉庫

$ git add --all

$ git commit -m "initial commit"

$ git push -u origin master

訪問主頁站點開啟瀏覽器,輸入**: 訪問主頁站點,顯示的內容正是我們剛剛提交的index.html檔案內容.

如果沒有正常顯示,清除瀏覽器快取強制重新整理試試看!

專案站點

相比主頁站點來說,專案站點命名比較隨意了,作為靜態**不可或缺的檔案仍然是index.html.

建立首頁index.html檔案

設定github pages選項

點選倉庫首頁右上方設定(settings)選項卡,往下翻到github pages選項,選擇原始碼目錄,根據實際情況選擇原始碼**於master分支還是其他分支或者docs/目錄.

方便起見,選擇第乙個master分支即可,注意下面的主題和這一步的**只能兩者選其一,否則主題優先順序更高!

訪問主頁站點/開啟瀏覽器,輸入**: /repository 訪問專案站點,顯示的內容正是我們剛剛提交的index.html檔案內容.

如果沒有正常顯示,清除瀏覽器快取強制重新整理試試看!

我們已經知道github pages是提供靜態**的免費託管,而gitbook預設生成的內容就是靜態**,兩者如何結合自然不用我多說了吧?

gitbook預設輸出目錄_book/包括了靜態**所需的全部資源,其中就包括index.html首頁檔案.

因此我們只需要每次生成後將_book/整個目錄複製到專案根目錄,那麼推送到遠端倉庫時自然就是輸出後靜態**了啊!

示例:

# 生成靜態**

$ gitbook build

# 複製到專案根目錄

$ cp -r _book/* .

# 新增到本地版本庫

$ git add .

$ git commit -m "publish"

# 推送到遠端倉庫

$ git push origin master

本節我們學習gitbook有三種輸出方式,其中預設的網頁輸出最為常用.

除此之外,還講解了如何與github pages進行結合,從而實現原始碼和**的自動更新維護.

如果原始碼沒有託管到github這種第三方服務商,你也可以搭建自己的伺服器,比如將_book/目錄全部扔到nginx伺服器做靜態資源伺服器等.

畢竟,原始碼和輸出內容都在你手中,想怎麼玩還不是自己說了算?

gitbook 入門教程之外掛程式介紹

外掛程式是gitbook的擴充套件功能,很多炫酷有用的功能都是通過外掛程式完成的,其中外掛程式有官方外掛程式和第三方外掛程式之分.當然也可以去 npm 市場搜尋gitbook外掛程式,根據gitbook外掛程式規範,gitbook plugin 是功能外掛程式,gitbook theme 是主體外掛...

Drupal入門教程之

點選導航 管理 reports 進入站點狀態報告頁程式設計客棧面。站點狀態報告頁面會列出當前系統的運 況,以及各個元件是否正常運轉。例如配置檔案的許可權 資料庫的狀態 檔案系統狀態等。預設安裝好drupal6以後,reports中只有一項,如果開啟其他模組,此項將有相應內容新增。點選 狀態報告 進入...

增加第三方外掛程式 gitbook 入門教程之主題外掛程式

目前 gitbook 提供三類文件 book 文件,api 文件和 faq 文件.其中,預設的也是最常使用的就是 book 文件,如果想要了解其他兩種文件模式,需要引入相應的主題外掛程式.官方主題外掛程式文件 book 文件theme default 主題theme default 是 3.0.0 ...