語法格式: 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 pages
是github
**推出的一種免費的靜態網頁託管服務,適合搭建靜態的專案主頁或個人官網.
其中,**專案的原始碼直接託管在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 ...