一、快速開始
-
安裝Nodejs
-
安裝gitbook
npm install gitbook-cli -g -
初始化一個(gè)目錄
gitbook init -
編寫SUMMARY.md目錄文件
* [簡介](README.md) * [第一章]() * [第一節(jié)](demo.md) * [第二章](demo1.md) 創(chuàng)建book.json文件,寫入如下配置:
{
"gitbook": ">=3.2.3",
"language": "zh-hans",
"title": "書名",
"description": "文檔描述",
"structure": {
"readme": "README.md",
"summary": "SUMMARY.md"
},
"links": {
"gitbook": false,
"sharing": {
"google": false,
"facebook": false,
"twitter": false,
"all": false
}
},
"plugins": [
"-sharing",
"-lunr", "-search", "search-plus",
"anchor-navigation-ex-toc",
"tbfed-pagefooter",
"copy-code-button"
],
"pluginsConfig":{
"anchor-navigation-ex-toc" : {
"showLevel":true,
"multipleH1":false,
"mode":"float",
"float":{
"floatIcon": "fa fa-navicon",
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
}
},
"tbfed-pagefooter": {
"copyright":"© 2018 www.vchar.top",
"modify_label": "本文檔更新于:",
"modify_format": "YYYY-MM-DD HH:mm"
}
}
}
-
運(yùn)行命令測試是否成功
gitbook serve
瀏覽器訪問:http://localhost:4000
-
導(dǎo)出離線html
gitbook build
最新版本的離線html無法跳轉(zhuǎn);需要修改生成目錄下的gitbook的theme.js文件;搜索if(m)for(n.handler 將其改為if(false)for(n.handler即可
一個(gè)gitbook教程寫的很不錯(cuò)的地址: http://gitbook.zhangjikai.com/
二、安裝
安裝gitbook
要在本地安裝gitbook需要先安裝nodejs(安裝教程)
在windows的cmd命令行工具中執(zhí)行如下命令安裝gitbook
npm install gitbook-cli -g
gitbook-cli 是 GitBook 的一個(gè)命令行工具。它將自動(dòng)安裝所需版本的 GitBook 來構(gòu)建一本書。
gitbook導(dǎo)出PDF相關(guān)安裝
-
安裝PDF支持插件
npm install ebook-convert -g 安裝calibre軟件
軟件下載地址 https://calibre-ebook.com/download;安裝成功后配置環(huán)境變量path中將calibre安裝目錄配置上
-
導(dǎo)出pdf
gitbook pdf
三、常用命令
初始化
在cmd命令行工具中切換到一個(gè)想創(chuàng)建書的目錄下,執(zhí)行如下命令:
gitbook init
執(zhí)行成功后會(huì)在該目錄下生成如下文件,這個(gè)2個(gè)文件是必須要的。
README.md #這是一個(gè)簡介文檔,內(nèi)容需要自己編寫
SUMMARY.md #這個(gè)是文檔目錄結(jié)構(gòu)文檔,需要自己編寫
-
SUMMARY.md目錄編寫格式
* [簡介](README.md) * [第一章]() * [第一節(jié)](demo.md) * [第二章](demo1.md)
生成離線HTML頁面
gitbook build
創(chuàng)建gitbook的目錄應(yīng)當(dāng)如下:
├── book.json
├── README.md
├── SUMMARY.md
├── directory-1
| ├── README.md
| └── something.md
執(zhí)行成功后會(huì)將生成的離線頁面和相關(guān)資源放到_book目錄下
啟動(dòng)服務(wù)
gitbook serve
啟動(dòng)成功后可以通過http://localhost:4000訪問預(yù)覽
列出 gitbook 所有的命令
gitbook help
生成時(shí)指定gitbook的版本, 本地沒有會(huì)先下載
gitbook build --gitbook=3.2.2
列出本地所有的gitbook版本
gitbook ls
列出遠(yuǎn)程可用的gitbook版本
gitbook ls-remote
更新到gitbook的最新版本
gitbook update
卸載對應(yīng)的gitbook版本
gitbook uninstall 2.0.1
輸出錯(cuò)誤信息
gitbook builid --debug
四、常用插件
記錄一些實(shí)用的插件, 如果要指定插件的版本可以使用 plugin@1.2.1。本文記錄的插件在 windows 下都是可以正常工作的。這里只是列舉了一部分插件,如果有其它的需求,可以到 插件官網(wǎng)https://plugins.gitbook.com/ 去搜索相關(guān)插件。
支持中文搜索:search-plus
支持中文搜索, 需要將默認(rèn)的 search 和 lunr 插件去掉。
{
"plugins": ["-lunr", "-search", "search-plus"]
}
側(cè)邊懸浮導(dǎo)航\頂部:anchor-navigation-ex-toc
添加Toc到側(cè)邊懸浮導(dǎo)航以及回到頂部按鈕。
插件引入
"plugins": [
"anchor-navigation-ex-toc"
]
可用配置參數(shù)
"pluginsConfig": {
"anchor-navigation-ex": {
"showLevel": true, #是否自動(dòng)分級,即添加序號
"associatedWithSummary": true,
"printLog": false, #是否顯示日志
"multipleH1": true, #是否有多個(gè)H1標(biāo)題
"mode": "float",
"showGoTop":true,
"float": {
"floatIcon": "fa fa-navicon", # 原樣式:fa-navicon
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
},
"pageTop": {
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
}
}
}
tbfed-pagefooter
為頁面添加頁腳
"plugins": [
"tbfed-pagefooter"
],
"pluginsConfig": {
"tbfed-pagefooter": {
"copyright":"© 2018 www.xx.com",
"modify_label": "本文檔修訂時(shí)間:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
}
}
復(fù)制的按鈕: copy-code-button
為代碼塊添加復(fù)制的按鈕。
{
"plugins": ["copy-code-button"]
}
多個(gè)版本: versions-select
添加版本選擇的下拉菜單,針對文檔有多個(gè)版本的情況
"plugins": [ "versions-select" ]
"pluginsConfig":{
"versions": {
"options": [
{
"value": "https://www.gitbook.com",
"text": "v1.0"
},
{
"value": "https://www.gitbook.com",
"text": "v2.0"
}
]
}
}
anchors
添加 Github 風(fēng)格的錨點(diǎn)樣式
"plugins" : [ "anchors" ]
五、 bookjson
默認(rèn)樣式book.json配置文件
{
"gitbook": ">=3.2.3",
"language": "zh-hans",
"title": "書名",
"description": "文檔描述",
"structure": {
"readme": "README.md",
"summary": "SUMMARY.md"
},
"links": {
"gitbook": false,
"sharing": {
"google": false,
"facebook": false,
"twitter": false,
"all": false
}
},
"plugins": [
"-sharing",
"-lunr", "-search", "search-plus",
"anchor-navigation-ex-toc",
"tbfed-pagefooter",
"copy-code-button",
"versions-select"
],
"pluginsConfig":{
"anchor-navigation-ex-toc" : {
"showLevel":true,
"multipleH1":false,
"mode":"float",
"float":{
"floatIcon": "fa fa-navicon",
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
}
},
"tbfed-pagefooter": {
"copyright":"© 2018 www.vchar.top",
"modify_label": "本文檔更新于:",
"modify_format": "YYYY-MM-DD HH:mm"
},
"versions": {
"options": [
{
"value": "https://gitbook.com",
"text": "v1.0"
},
{
"value": "https://gitbook.com",
"text": "v2.0"
}
]
}
}
}
效果圖如下:

theme-api API文檔主題
{
"plugins": ["theme-api"],
"pluginsConfig": {
"theme-api": {
"theme": "dark"
}
}
}
模板
{
"gitbook": ">=3.2.3",
"language": "zh-hans",
"title": "書名",
"description": "文檔描述",
"structure": {
"readme": "README.md",
"summary": "SUMMARY.md"
},
"links": {
"gitbook": false,
"sharing": {
"google": false,
"facebook": false,
"twitter": false,
"all":false
}
},
"plugins": [
"-sharing",
"-lunr", "-search", "search-plus",
"anchor-navigation-ex-toc",
"tbfed-pagefooter",
"copy-code-button",
"versions-select",
"theme-api"
],
"pluginsConfig":{
"anchor-navigation-ex-toc" : {
"showLevel":true,
"multipleH1":false,
"mode":"float",
"float":{
"floatIcon": "fa fa-navicon",
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
}
},
"tbfed-pagefooter": {
"copyright":"© 2018 www.vchar.top",
"modify_label": "本文檔更新于:",
"modify_format": "YYYY-MM-DD HH:mm"
},
"versions": {
"options": [
{
"value": "https://gitbook.com",
"text": "v1.0"
},
{
"value": "https://gitbook.com",
"text": "v2.0"
}
]
},
"theme-api":{
"theme": "dark",
"languages": [
{
"lang": "js",
"name": "JavaScript",
"default": true
},
{
"lang": "java",
"name": "Java"
}
]
}
}
}
API文檔的語法
定義方法
{% method %}
打印
展示 JavaScript 和 Java 如何輸出信息
{% sample lang="js" %} 這里演示 JavaScript 如何輸出信息到控制臺
console.log('Hello World');
{% sample lang="java" %} 這里演示 Java 如何輸出信息到控制臺
System.out.println("Hello World");
{% common %} 這里是 JavaScript 和 Java 共同的信息
{% endmethod %}
{% method %}
定義變量
這里演示 JavaScript 和 Java 如何定義變量
{% sample lang="js" %} 這里演示 JavaScript 如何定義變量:
var i = 0;
var j = "a";
var k = new function() {
}
{% sample lang="java" %} 這里演示 Java 如何定義變量
int i = 0;
String j = "a";
Object o = new Object();
{% endmethod %}
效果圖如下:
