因爲以前都把零散的知識都寫在 Gist 上,要查找的時候不是很系統化,因此打算挪到 GitBook 上來統一管理,並且 GitBook 寫完編譯後能夠生成靜態頁面發佈到博客上,逼格滿滿的樣子。css
GitBook 是一個基於 Node.js 的命令行工具,下載安裝 Node.js,安裝完成以後,你可使用下面的命令來檢驗是否安裝成功。html
$ node -v v7.7.1
輸入下面的命令來安裝 GitBook。node
$ npm install gitbook-cli -g
安裝完成以後,你可使用下面的命令來檢驗是否安裝成功。git
$ gitbook -V CLI version: 2.3.2 GitBook version: 3.2.3
更多詳情請參照 GitBook 安裝文檔 來安裝 GitBook。github
去 GitBook 官網 下載 GitBook 編輯器;若是是 Mac 用戶且安裝過 brew cask
的話可使用 brew cask install gitbook-editor
命令行來安裝 GitBook 編輯器。web
GitBook 準備工做作好以後,咱們進入一個你要寫書的目錄,輸入以下命令。npm
$ 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 其實就是書的章節目錄,其默認內容以下所示:json
# Summary
* [Introduction](README.md)
接下來,咱們輸入 $ gitbook serve
命令,而後在瀏覽器地址欄中輸入 http://localhost:4000
即可預覽書籍。瀏覽器
效果以下所示:ruby
運行該命令後會在書籍的文件夾中生成一個 _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",