前言
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之后,输入命令检查是否安装 成功。如果命令无效,检查一下环境变量是否配置。
代码语言:javascript复制$ node -v
v10.24.1
安装GitBook
接下来使用npm
命令安装gitbook-cli
。它是在同一系统上安装和使用多个版本的GitBook的实用程序。它将自动安装所需版本的GitBook程序。(可能需要一些时间,耐心等待就行)
npm install gitbook-cli -g
通过gitbook -V
命令查看是否安装成功(可能需要一些时间,耐心等待就行)。V是大写的
gitbook -V
Gitbook基本使用
Gitbook文档目录结构
代码语言:javascript复制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文件编写目录
代码语言:javascript复制# 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
,在该配置文件中可以配置各种插件,来美化页面的显示和交互效果。 由于插件比较多,这里把我常用配置和插件已经写好了,直接粘贴即可。
</joe-message>
代码语言:javascript复制{
"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 © 公爵 2022",
"modify_label": "该文章修订时间:",
"modify_format": "YYYY-MM-DD"
},
"insert-logo": {
"url": "https://cos.gjcloak.xyz/2022/04/28/6269f3340b765.png",
"style": "background: none"
}
}
}
写好配置文件之后,需要执行命令来安装插件(这里下载插件需要一点时间,耐心等待即可)
代码语言:javascript复制gitbook install
常见问题说明
</joe-message>
1、提示找不到命令
代码语言:javascript复制-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的时候,会报错:
代码语言:javascript复制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部署