搭建
搭建
安装
因为 GitBook 是基于 Node.js,所以我们首先需要安装 Node.js
现在安装 Node.js 都会默认安装 npm(node 包管理工具),所以我们不用单独安装 npm,打开命令行,执行以下命令安装 GitBook:
npm install -g gitbook-climac
sudo npm install -g gitbook-cli
一定要sudo查看版本
gitbook -V初始化
在新建的文件夹下执行
gitbook init如果出现错误(polyfills.js:287报错)
D:\superMapWorkSpace\myTestGitBook>gitbook init
Installing GitBook 3.2.3
C:\Users\刘琛运\AppData\Roaming\npm\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 C:\Users\刘琛运\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18
at FSReqCallback.oncomplete (fs.js:184:5)注释polyfills.js
修改提示的polyfills.js:287行,现在发现最新版这种方法已不起效
C:\Users\刘琛运\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js
注释掉
// fs.stat = statFix(fs.stat)
// fs.fstat = statFix(fs.fstat)
// fs.lstat = statFix(fs.lstat)mac
cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs
vim polyfills.js
无法修改,没有权限
chomd 777 polyfills.js
mac出现:Operation not permitted
MacOS自OS X El Capitan 10.11系统开始已经使用了 Rootlees , 她是一个更高等级的系统内核保护措施,系统默认将会锁定
/system /sbin /usr 这三个目录。因此我们在这三个目录下进行文件操作时,会提示Operation not permitted,即使我们使用root用户操作也不行。但是这个功能也是可以关闭的:
csrutil status
System Integrity Protection status: enabled.
csrutil disable
csrutil: This tool needs to be executed from Recovery OS.
提示重启电脑
结果失败,只能降低版本降低版本(推荐)
切换node版本,发现v12.16.3以下可以
卸载
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}文件结构
初始化后生成文件结构,如下:
- README.md —— 书籍的介绍写在这个文件里
- SUMMARY.md —— 书籍的目录结构在这里配置
从GitBook >2.0.0 起,就可以在 book.json 中定义某个文件作为README。
{
"structure" : {
"readme" : "myIntro.md"
}
}
先写目录,修改SUMMARY.md,例如:
- [前言](README.md)
- [go](go/README.md)
- [go基础](go/go基础.md)
- [java](java/README.md)
- [gitbook](go/README.md)再次执行 ,
gitbook initGitBook 基本的目录结构如下所示
.
├── book.json
├── README.md
├── SUMMARY.md
├── chapter-1/
| ├── README.md
| └── something.md
└── chapter-2/
├── README.md
└── something.mdbook.json
存放配置信息,在下一章中所讲的配置信息都是在这个文件里定义的,关于该文件的配置可以看 配置 这个章节。
Summary
概要文件主要存放 GitBook 的文件目录信息,左侧的目录就是根据这个文件来生成的,默认对应的文件是 SUMMARY.md,可以在 book.json 重新定义该文件的对应值。它通过 Markdown 中的列表语法来表示文件的父子关系,下面是一个简单的示例
我们通过使用 标题 或者 水平分割线 标志将 GitBook 分为几个不同的部分
----启动gitbook
gitbook serve
运行该命令后会在书籍的文件夹中生成一个 _book 文件夹
打包
可以使用下面命令来只生成网页而不开启服务器
gitbook build多语言
GitBook支持使用多语言来构建书本。按照GitBook的标准格式,每个语言应该作为一个子目录,命名为 LANGS.md 的文件应该遵循下面的格式并出现在仓库的根目录下:
- 简体中文
- English
命令
这里主要介绍一下 GitBook 的命令行工具 gitbook-cli 的一些命令, 首先说明两点:
gitbook-cli和gitbook是两个软件gitbook-cli会将下载的 gitbook 的不同版本放到~/.gitbook中, 可以通过设置GITBOOK_DIR环境变量来指定另外的文件夹
列出gitbook所有的命令
gitbook help输出gitbook-cli的帮助信息
gitbook --help生成静态网页
gitbook build生成静态网页并运行服务器
gitbook serve生成时指定gitbook的版本, 本地没有会先下载
gitbook build --gitbook=2.0.1列出本地所有的gitbook版本
gitbook ls列出远程可用的gitbook版本
gitbook ls-remote安装对应的gitbook版本
gitbook fetch 标签/版本号更新到gitbook的最新版本
gitbook update卸载对应的gitbook版本
gitbook uninstall 2.0.1指定log的级别
gitbook build --log=debug输出错误信息
gitbook builid --debug