前言

GitBook 是一个使用 Git 和 Markdown 来构建书籍的工具。它可以把你的书本生成为许多格式:PDF,ePub,mobi,或者成为一个网站。

GitBook工具链是开源并且完全免费的,它的源码可以在 GitHub 上获取。

注意: 截止到目前的 Gitbook V3.2.3版本,需要使用NodeJs的v10+版本,否则会产生各种报错。这里建议下载v10.24.1版本,官网最新版本我试了也是不行的。

安装Nodejs

1、首先在宝塔的软件商店,安装Node.js版本管理器,具体哪个版本看你需要,我这边安装的是1.6

2、进入Node.js版本管理器的设置界面,版本安装v10.24.1,然后命令行版本选择你安装的版本,registry源选择淘宝源或者官方源

3、安装好了nodejs之后,输入命令检查是否安装 成功。如果命令无效,检查一下环境变量是否配置。

$ node -v                                                
v10.24.1

安装GitBook

接下来使用npm命令安装gitbook-cli。它是在同一系统上安装和使用多个版本的GitBook的实用程序。它将自动安装所需版本的GitBook程序。(可能需要一些时间,耐心等待就行)

npm install gitbook-cli -g

通过gitbook -V命令查看是否安装成功(可能需要一些时间,耐心等待就行)。V是大写的

gitbook -V

Gitbook基本使用

Gitbook文档目录结构

GitBook 基本的目录结构如下所示
- book.json        //电子书的配置文件
- README.md        //电子书的主要说明文件
- SUMMARY.md        //电子书的目录
- chapter-1/        //电子书的章节1文件夹(chapter-1是文件夹名称,可以自定义)
    - README.md        //章节1的说明文件
     - 文档1.md        //章节下面的小节1
    - 文档2.md        //章节下面的小节2
- chapter-2/        //电子书的章节2文件夹(chapter-2是文件夹名称,可以自定义)
    - README.md        //章节2的说明文件
     - 文档1.md        //章节下面的小节2
    - 文档2.md        //章节下面的小节2

Gitbook初始化

新建一个文件夹如gitbook_test,使用cd命令进入到该文件夹下,在该文件夹下进行初始化。

gitbook init

会自动在目录中生成两个文件,一个是主要说明文件,一个是目录文件

编写目录

打开SUMMARY.md文件编写目录

# Summary
* [教程导读](README.md)
* [day01—环境搭建&快速入门](day01—Java开发环境/README.md)
    * [环境搭建](day01—Java开发环境/环境搭建.md)
    * [入门案例](day01—Java开发环境/基础语法.md)
    * [基础语法](day01—Java开发环境/入门案例.md)
    * [课后练习](day01—Java开发环境/课后练习.md)
* [day02—类型转换&运算符](day02—类型转换&运算符/README.md)
    * [类型转换](day02—类型转换&运算符/类型转换.md)
    * [运算符](day02—类型转换&运算符/运算符.md)
    * [if语句](day02—类型转换&运算符/if语句.md)

生成各小节md文件

编写好目录之后,在gitbook_test文件夹下,再次使用gitbook init命令生成个目录中的各小节md文件。

gitbook init



编译生成静态网页

将会在gitbook_test目录下生成一个_book文件夹,这就是我们的一个静态站点

gitbook build

编译并预览静态网页

先编译生成静态站点,并且开启一个4000端口服务,在浏览器中使用localhost:4000进行访问

gitbook serve

Gitbook配置文件

Gitbook有一个配置文件book.json,在该配置文件中可以配置各种插件,来美化页面的显示和交互效果。 由于插件比较多,这里把我常用配置和插件已经写好了,直接粘贴即可。

{
    "title": "骑士指南",
    "description": "要想成为强者,决不能绕过挡道的荆棘,也不能回避风雨的冲刷",
    "author": "公爵",
    "output.name": "site",
    "language": "zh-hans",
    "plugins": 
    [
        "toggle-chapters",
        "hide-element",
        "tbfed-pagefooter",
        "-lunr","-search","search-pro",
        "insert-logo"
    ],
    "pluginsConfig": {
        "hide-element": {
            "elements": [".gitbook-link"]
        },
        "tbfed-pagefooter": {
                "copyright": "Copyright &copy 公爵 2022",
                "modify_label": "该文章修订时间:",
                "modify_format": "YYYY-MM-DD"
        },
        "insert-logo": {
                "url": "https://cos.gjcloak.xyz/2022/04/28/6269f3340b765.png",
                "style": "background: none"
            }
      }
}

写好配置文件之后,需要执行命令来安装插件(这里下载插件需要一点时间,耐心等待即可)

gitbook install

常见问题说明

1、提示找不到命令

-bash:gitbook:command not found

解决它很简单,在root目录下,有个.bash_profile 文件,在里面加上下面这句话即可解决

export PATH=$PATH:$JAVA_HOME:$BISON_HOME:$MAVEN_HOME/bin:$RBMQ_HOME:$MYSQL_HOME:$PHANTOMJS_HOME:$(npm prefix -g)/bin

2、安装 nodejs、npm和 gitbook的时候,会报错:

Installing GitBook 3.2.3
/usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287
if (cb) cb.apply(this, arguments)
^

TypeError: cb.apply is not a function
at /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
at

这是因为gitbook因为nodejs版本不匹配导致安装报错,nodejs需要使用10.x版本,才不会报错

最后

到这里就完成了基础的gitbook部署

最后修改:2024 年 09 月 04 日
如果觉得我的文章对你有用,请随意赞赏