# 使用GitBook

## 简单demo

1. 需要nodejs环境，自行到nodejs官网下载安装，安装成功后如下

   ```
    $ node -v
    v12.16.1
   ```

   ```
    $ npm -v
    6.13.4
   ```
2. 安装gitbook-cli

   ```
    npm install -g gitbook-cli
   ```
3. 进入建立gitbook的文件夹，执行下面的命令

   ```
    gitbook init
   ```
4. 将会生成两个文件
   * README.md —— 书籍的介绍写在这个文件里
   * SUMMARY.md —— 书籍的目录结构在这里配置
5. 加入自己书写的内容，目录结构如下，自己可以根据需要修改

   ```
    │  README.md
    │  SUMMARY.md
    ├─第一章
    │      content.md
    │      README.md
    │      
    ├─第三章
    │      content.md
    │      README.md
    │      
    └─第二章
            content.md
            README.md
   ```
6. 配置SUMMARY.md

   ```
    # Your Book Title

    - [第一章](第一章/README.md)
        * [Content](第一章/content.md)
    - [第三章](第三章/README.md)
        * [Content](第三章/content.md)
    - [第二章](第二章/README.md)
        * [Content](第二章/content.md)
   ```
7. 如果不想手动写SUMMARY.md，也可以使用命令自动生成（也可以使用book.json文件指定插件）

   ```
    npm install -g gitbook-summary
    book sm
   ```
8. 写好book内容，配置好SUMMARY.md之后就可以在本地预览gitbook了

   ```
    gitbook serve
   ```

   ![](https://ipasser.oss-cn-beijing.aliyuncs.com/images/blog/20200418153707.png)

## 进阶

1. 根据自己的需要添加插件进行配置，在主目录下添加book.json文件进行配置，详细的博客：<https://www.cnblogs.com/mingyue5826/p/10307051.html>

   ```javascript
    {
        "title": "demo",//标题
        "description": "demo",//文档描述
        "language": "zh",//选择编辑的语言环境
        "plugins": [ //引入需要的插件，前面有-号的为uninstall相应的插件
            "disqus",
            "github",
            "editlink",
            "prism",
            "-highlight",
            "baidu",
            "splitter",
            "sitemap",
            "tbfed-pagefooter",
            "fontsettings",
            "simple-page-toc",
            "links"
        ],
        "styles": {
            "website": "styles/website.css" //引入css文件进行css样式的修改
        },
        "pluginsConfig": {
            "tbfed-pagefooter": {
                    "copyright": "",
                    "modify_label": "该文件修订时间：",
                    "modify_format": "YYYY-MM-DD HH:mm:ss"
                },//显示文件的修改事件，包括一些版权声明
                "fontsettings": {
                    "theme": "white",
                    "family": "serif",
                    "size": 12
                },//显示样式以及文字大小的主题
                "simple-page-toc": {
                    "maxDepth": 3,
                    "skipFirstH1": true
                },//<!-- toc -->中放置代码注释。生成GitBook以后，此评论会立即插入content
            //使用深度最多为maxdepth的标题。排除文件中的第一个h1级标题。
                "links": {
                    "gitbook": false,
                    "sharing": {
                        "google": false,
                        "facebook": false,
                        "twitter": false,
                        "all": false
                },//默认的一些分享的展示与隐藏，true为展示，false为隐藏
            "disqus": {
            "shortName": "webpack-handbook"//生成评论的插件
            },
            "github": {
            "url": "https://github.com/webChatContact/baas-v2-help"
            },
            "editlink": {
            "base": "https://github.com/webChatContact",
            "label": "编辑本页面"//内容顶部显示 编辑本页 链接。
            },
            "baidu": {
                "token": "a9787f0ab45d5e237bab522431d0a7ec"//使用百度统计。
            },
            "sitemap": {
                "hostname": "http://baidu.com/"//生成站点地图
            }
        }
    }
   ```

## gitbook和github同步

1. 在你的github上创建仓库
2. 将你的gitbook推送到github远端
3. 登录[gitbook](https://app.gitbook.com/)，进入dashboard，创建对应的space

   &#x20;![](https://ipasser.oss-cn-beijing.aliyuncs.com/images/blog/20200418155243.png)
4. 创建好后和指定的github仓库分支link，后面只要github代码更新，都会实时更新到gitbook
5. 现在就可以通过浏览器访问到了，例如我的[blog](https://icankeep.gitbook.io/blog/)
