基於 GitBook 搭建個人部落格
阿新 • • 發佈:2020-08-27
[toc]
-----
# 為什麼這篇博文 會被 **無情** 移除首頁 ????
## 基於 GitBook 搭建個人部落格
### 1.為什麼要寫部落格?
本人之前也在部落格園寫了一些,後面怕寫的一些文章是錯的,誤導他人,因此中斷了繼續寫。
繼續寫部落格的原因如下
- 只為記錄自己學習、思考、總結的過程
- 提高自己將事情講清楚的能力
- 積累更多的知識,在需要使用的時候方便查詢。 **好記性不如爛筆頭^\_^**
### 2.為什麼選擇使用 GitBook 來搭建?
1.正如上面所述,GitBook 更加方便管理且支援**搜尋**,可以在有想要記錄的時候,開啟編輯器記錄下,然後合適的時間分享(釋出)下
2.GitBook 可以自己管理文章,想寫什麼想發什麼看自己心情,不用考慮平臺限制等因素
3.GitBook 是有`md`靜態檔案渲染出來的,基礎檔案可遷移性強。
### 3.搭建方式
#### 3.1 GitBook 線上直接搭建
線上網址搭建地址 [傳送門](https://legacy.gitbook.com/) 具體搭建教程可網上自行搜尋,這裡就不做過多記錄。原因如下:
> - 國內網路環境問題,導致 GitBook 網站經常打不開,需要使用代理才能訪問。
> - 修改提交後,更新顯示有時間延遲。
#### 3.2 由基於`Node.js`的命令工具開發
本人推薦使用這種方式,方便管理,配合自己的程式碼管理工具。簡直不要太完美。
涉及到的工具:`Node.js` ,`gitbook-cli`,編譯器 `VS Code`,`Typora`
> Typora 下載地址:https://typora.io/
##### 3.2.1 安裝 GitBook 工具
- 開啟`CMD`終端,輸入`npm install gitbook-cli -g`命令進行全域性安裝
- 安裝完成後,輸入 `gitbook --version`來檢視是否安裝成功 **第一次使用,cli 會自動安裝`gitbook`,安裝時間視網路環境而定,請耐心等待**
- 若要解除安裝,就執行 `npm uninstall gitbook-cli -g`來刪除
由於我這裡已經安裝了,安裝完成可用以下命令檢視。
![](https://img2020.cnblogs.com/blog/1750888/202008/1750888-20200827093429403-214093467.png)
##### 3.2.2 新建專案(書)
首先需要建立專案跟資料夾,步驟如下:
```cmd
mkdir BookRecord
cd BookRecord
gitbook init
```
![](https://img2020.cnblogs.com/blog/1750888/202008/1750888-20200827093439742-944244551.png)
`gitbook init` 命令是用於**初始化**專案的,會建立 README.md 和 SUMMARY.md 兩個專案必須的檔案
- README.md 是專案介紹檔案,在執行後會固定展示在目錄頭部,tips:可以通過某種手動進行隱藏
- SUMMARY.md 是專案的目錄選單
若 SUMMARY.md 中目錄對應檔案,則在執行**`gitbook init`** 時會自動建立。
![](https://img2020.cnblogs.com/blog/1750888/202008/1750888-20200827093450099-437922828.png)
##### 3.2.3 本地啟動調式
本地啟動命令`gitbook serve`
執行該命令,會生成 \_book 資料夾,這個資料夾是最終需要釋出的資料夾。請自行在管理工具中忽略。
執行啟動後,可直接訪問`ttp://localhost:4000`,開啟的第一個頁面,將是`README.md`頁面。
##### 3.2.4 打包釋出
執行`gitbook build`命令即可打包,打包後,在根目錄有一個 **\_book** 資料夾,
將該資料夾釋出至 Nginx 或者 儲存雲 或 Tomcat 都可以。
### 4. GitBook 配置檔案說明
如果想要對專案做單獨的專案配置和使用其它外掛,就需要使用配置檔案進行配置。
在專案根目錄建立`book.json`檔案,檔案內容如下:
```js
{
"author": "Levy",
"description": "This is record sharing by Levy.",
"extension": null,
"generator": "site",
"isbn": "",
"links": {
"sharing": {
"all": null,
"facebook": null,
"google": null,
"twitter": null,
"weibo": null
},
"sidebar": {
"谷歌": "https://www.google.com"
}
},
"output": null,
"pdf": {
"fontSize": 12,
"footerTemplate": null,
"headerTemplate": null,
"margin": {
"bottom": 36,
"left": 62,
"right": 62,
"top": 36
},
"pageNumbers": true,
"paperSize": "a4"
},
"plugins": [],
"pluginsConfig": {
},
"language": "zh-hans",
"title": "Levy",
"variables": {},
"styles": {
"website": "assets/styles/website.css"
}
}
```
更多引數配置請參考:[https://github.com/GitbookIO/gitbook/blob/master/docs/config.md](https://github.com/GitbookIO/gitbook/blob/master/docs/config.md)
**外掛配置檢視另一篇文章 [外掛配置](https://www.cnblogs.com/levywang/p/13569661.