1. 程式人生 > >基於 GitBook 搭建個人部落格

基於 GitBook 搭建個人部落格

[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.