本地Gitbook安装和使用(windows下)

一、快速开始

  1. 安装Nodejs

    教程:https://www.jianshu.com/p/cc26e5d0f10f

  2. 安装gitbook

     npm install gitbook-cli -g
    
  3. 初始化一个目录

     gitbook init
    
  4. 编写SUMMARY.md目录文件

     * [简介](README.md)
     * [第一章]()
         * [第一节](demo.md) 
     * [第二章](demo1.md)
    
  5. 创建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":"&copy 2018 www.vchar.top",
                "modify_label": "本文档更新于:",
                "modify_format": "YYYY-MM-DD HH:mm"
            }
        }
    }
  1. 运行命令测试是否成功

     gitbook serve
    

浏览器访问:http://localhost:4000

  1. 导出离线html

     gitbook build
    

最新版本的离线html无法跳转;需要修改生成目录下的gitbook的theme.js文件;搜索if(m)for(n.handler 将其改为if(false)for(n.handler即可

一个gitbook教程写的很不错的地址: http://gitbook.zhangjikai.com/

二、安装

安装gitbook

要在本地安装gitbook需要先安装nodejs(安装教程)

在windows的cmd命令行工具中执行如下命令安装gitbook

npm install gitbook-cli -g

gitbook-cli 是 GitBook 的一个命令行工具。它将自动安装所需版本的 GitBook 来构建一本书。

gitbook导出PDF相关安装

  • 安装PDF支持插件

      npm install ebook-convert -g
    
  • 安装calibre软件

软件下载地址 https://calibre-ebook.com/download;安装成功后配置环境变量path中将calibre安装目录配置上

  • 导出pdf

      gitbook pdf
    

三、常用命令

初始化

在cmd命令行工具中切换到一个想创建书的目录下,执行如下命令:

gitbook init

执行成功后会在该目录下生成如下文件,这个2个文件是必须要的。

README.md   #这是一个简介文档,内容需要自己编写
SUMMARY.md  #这个是文档目录结构文档,需要自己编写
  • SUMMARY.md目录编写格式

      * [简介](README.md)
      * [第一章]()
          * [第一节](demo.md) 
      * [第二章](demo1.md)
    

生成离线HTML页面

gitbook build

创建gitbook的目录应当如下:

├── book.json
├── README.md
├── SUMMARY.md
├── directory-1
|   ├── README.md
|   └── something.md

执行成功后会将生成的离线页面和相关资源放到_book目录下

启动服务

gitbook serve

启动成功后可以通过http://localhost:4000访问预览

列出 gitbook 所有的命令

gitbook help

生成时指定gitbook的版本, 本地没有会先下载

gitbook build --gitbook=3.2.2

列出本地所有的gitbook版本

gitbook ls

列出远程可用的gitbook版本

gitbook ls-remote

更新到gitbook的最新版本

gitbook update

卸载对应的gitbook版本

gitbook uninstall 2.0.1

输出错误信息

gitbook builid --debug

四、常用插件

记录一些实用的插件, 如果要指定插件的版本可以使用 plugin@1.2.1。本文记录的插件在 windows 下都是可以正常工作的。这里只是列举了一部分插件,如果有其它的需求,可以到 插件官网https://plugins.gitbook.com/ 去搜索相关插件。

支持中文搜索:search-plus

支持中文搜索, 需要将默认的 search 和 lunr 插件去掉。

{
    "plugins": ["-lunr", "-search", "search-plus"]
}

侧边悬浮导航\顶部:anchor-navigation-ex-toc

添加Toc到侧边悬浮导航以及回到顶部按钮。

插件引入

"plugins": [
        "anchor-navigation-ex-toc"
    ]

可用配置参数

"pluginsConfig": {
    "anchor-navigation-ex": {
        "showLevel": true,  #是否自动分级,即添加序号
        "associatedWithSummary": true,
        "printLog": false,  #是否显示日志
        "multipleH1": true, #是否有多个H1标题
        "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":"&copy 2018 www.xx.com",
        "modify_label": "本文档修订时间:",
        "modify_format": "YYYY-MM-DD HH:mm:ss"
    }
}

复制的按钮: copy-code-button

为代码块添加复制的按钮。

{
    "plugins": ["copy-code-button"]
}

多个版本: versions-select

添加版本选择的下拉菜单,针对文档有多个版本的情况

"plugins": [ "versions-select" ]

"pluginsConfig":{
    "versions": {
            "options": [
                {
                    "value": "https://www.gitbook.com",
                    "text": "v1.0"
                },
                {
                    "value": "https://www.gitbook.com",
                    "text": "v2.0"
                }
            ]
        }
}

anchors

添加 Github 风格的锚点样式

"plugins" : [ "anchors" ]

五、 bookjson

默认样式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":"&copy 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"
                    }
                ]
            }
    }
}

效果图如下:

image

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":"&copy 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 %}

效果图如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容