首先先獻上 個人 GitBook 地址,能夠在個人 博客 導航欄處找到,下面進行相關的介紹。css
因爲以前都把零散的知識都寫在 Gist 上,要查找的時候不是很系統化,因此打算挪到 GitBook 上來統一管理,並且 GitBook 寫完編譯後能夠生成靜態頁面發佈到博客上,逼格滿滿的樣子。html
GitBook 是一個基於 Node.js 的命令行工具,下載安裝 Node.js,安裝完成以後,你可使用下面的命令來檢驗是否安裝成功。node
$ node -v
v7.7.1
複製代碼
輸入下面的命令來安裝 GitBook。git
$ npm install gitbook-cli -g
複製代碼
安裝完成以後,你可使用下面的命令來檢驗是否安裝成功。github
$ gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3
複製代碼
更多詳情請參照 GitBook 安裝文檔 來安裝 GitBook。web
去 GitBook 官網 下載 GitBook 編輯器;若是是 Mac 用戶且安裝過 brew cask
的話可使用 brew cask install gitbook-editor
命令行來安裝 GitBook 編輯器。npm
GitBook 準備工做作好以後,咱們進入一個你要寫書的目錄,輸入以下命令。json
$ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished
複製代碼
能夠看到他會建立 README.md 和 SUMMARY.md 這兩個文件,README.md 應該不陌生,就是說明文檔,而 SUMMARY.md 其實就是書的章節目錄,其默認內容以下所示:瀏覽器
# Summary
* [Introduction](README.md)
複製代碼
接下來,咱們輸入 $ gitbook serve
命令,而後在瀏覽器地址欄中輸入 http://localhost:4000
即可預覽書籍。bash
效果以下所示:
運行該命令後會在書籍的文件夾中生成一個 _book
文件夾, 裏面的內容即爲生成的 html 文件,咱們可使用下面命令來生成網頁而不開啓服務器。
gitbook build
複製代碼
下面咱們來詳細介紹下 GitBook 目錄結構及相關文件。
GitBook 基本的目錄結構以下所示:
.
├── book.json
├── README.md
├── SUMMARY.md
├── chapter-1/
| ├── README.md
| └── something.md
└── chapter-2/
├── README.md
└── something.md
複製代碼
下面咱們主要來說講 book.json 和 SUMMARY.md 文件。
該文件主要用來存放配置信息,我先放出個人配置文件。
{
"title": "Blankj's Glory",
"author": "Blankj",
"description": "select * from learn",
"language": "zh-hans",
"gitbook": "3.2.3",
"styles": {
"website": "./styles/website.css"
},
"structure": {
"readme": "README.md"
},
"links": {
"sidebar": {
"個人狗窩": "https://blankj.com"
}
},
"plugins": [
"-sharing",
"splitter",
"expandable-chapters-small",
"anchors",
"github",
"github-buttons",
"donate",
"sharing-plus",
"anchor-navigation-ex",
"favicon"
],
"pluginsConfig": {
"github": {
"url": "https://github.com/Blankj"
},
"github-buttons": {
"buttons": [{
"user": "Blankj",
"repo": "glory",
"type": "star",
"size": "small",
"count": true
}
]
},
"donate": {
"alipay": "./source/images/donate.png",
"title": "",
"button": "讚揚",
"alipayText": " "
},
"sharing": {
"douban": false,
"facebook": false,
"google": false,
"hatenaBookmark": false,
"instapaper": false,
"line": false,
"linkedin": false,
"messenger": false,
"pocket": false,
"qq": false,
"qzone": false,
"stumbleupon": false,
"twitter": false,
"viber": false,
"vk": false,
"weibo": false,
"whatsapp": false,
"all": [
"google", "facebook", "weibo", "twitter",
"qq", "qzone", "linkedin", "pocket"
]
},
"anchor-navigation-ex": {
"showLevel": false
},
"favicon":{
"shortcut": "./source/images/favicon.jpg",
"bookmark": "./source/images/favicon.jpg",
"appleTouch": "./source/images/apple-touch-icon.jpg",
"appleTouchMore": {
"120x120": "./source/images/apple-touch-icon.jpg",
"180x180": "./source/images/apple-touch-icon.jpg"
}
}
}
}
複製代碼
相信不少節點本身也能猜到是什麼意思,我仍是簡單介紹下吧。
本書標題
本書做者
本書描述
本書語言,中文設置 "zh-hans" 便可
指定使用的 GitBook 版本
自定義頁面樣式
指定 Readme、Summary、Glossary 和 Languages 對應的文件名
在左側導航欄添加連接信息
配置使用的插件
配置插件的屬性
這個文件主要決定 GitBook 的章節目錄,它經過 Markdown 中的列表語法來表示文件的父子關係,下面是一個簡單的示例:
# Summary
* [Introduction](README.md)
* [Part I](part1/README.md)
* [Writing is nice](part1/writing.md)
* [GitBook is nice](part1/gitbook.md)
* [Part II](part2/README.md)
* [We love feedback](part2/feedback_please.md)
* [Better tools for authors](part2/better_tools.md)
複製代碼
這個配置對應的目錄結構以下所示:
咱們經過使用 標題
或者 水平分割線
將 GitBook 分爲幾個不一樣的部分,以下所示:
# Summary
### Part I
* [Introduction](README.md)
* [Writing is nice](part1/writing.md)
* [GitBook is nice](part1/gitbook.md)
### Part II
* [We love feedback](part2/feedback_please.md)
* [Better tools for authors](part2/better_tools.md)
---
* [Last part without title](part3/title.md)
複製代碼
這個配置對應的目錄結構以下所示:
GitBook 有 插件官網,默認帶有 5 個插件,highlight、search、sharing、font-settings、livereload,若是要去除自帶的插件, 能夠在插件名稱前面加 -
,好比:
"plugins": [
"-search"
]
複製代碼
若是要配置使用的插件能夠在 book.json 文件中加入便可,好比咱們添加 plugin-github,咱們在 book.json 中加入配置以下便可:
{
"plugins": [ "github" ],
"pluginsConfig": {
"github": {
"url": "https://github.com/your/repo"
}
}
}
複製代碼
而後在終端輸入 gitbook install ./
便可。
若是要指定插件的版本可使用 plugin@0.3.1,由於一些插件可能不會隨着 GitBook 版本的升級而升級。
這是我對 GitBook 使用的總結,但願能幫到從此須要的小夥伴。