hugo/content/posts/1.Learning/A1.StudyNotes/gitbook-install.md
2026-03-18 22:36:05 +08:00

137 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "如何编写 Gitbook"
date: 2022-03-01T01:13:27+08:00
tags: ["gitbook"]
categories: ["Learning", "StudyNotes"]
---
## 环境
nodejs
> nodejs目前的版本比较高如果直接使用14版本会存在gitbook安装失败最好使用12版本
```shell
yum install nodejs
# 检查是否安装成功
node -v
```
## 安装
```shell
npm install -g gitbook-cli
# 检查是否安装成功
gitbook --version
# 出现错误 `cb.apply is not a function`,修复方法,详见`https://mizeri.github.io/2021/04/24/gitbook-cbapply-not-a-function/`
# 修改`/usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js`文件的65行起3行具体内容如下
// fs.stat = statFix(fs.stat)
// fs.fstat = statFix(fs.fstat)
// fs.lstat = statFix(fs.lstat)
```
## 生成book
1. 如何 `html`
```shell
gitbook build ./Thief ./ThiefTarget/
```
## 配置nginx
```shell
server {
listen 80;
listen [::]:80;
listen 81 http2;
server_name gitbook.micah.wiki;
root /xxx;
location / {
}
location = /robots.txt {}
}
server {
listen 443 ssl;
server_name gitbook.micah.wiki;
ssl_certificate /yyy/cert.pem;
ssl_certificate_key /yyy/key.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /xxx;
location / {
}
location = /robots.txt {}
}
```
## 封面
| | 大 | 小 |
|:----------------:|:-----------:|:-----------------:|
| **文件** | `cover.jpg` | `cover_small.jpg` |
| **大小(像素)** | 1800x2360 | 200x262 |
## 术语
增加 `GLOSSARY.md` 文件,貌似目前值支持英文的,不支持 GitBook 中文 术语
## 引用文件
```shell
# 1. 本地文件
{% include "./xx.md" %}
# 2. git地址
{% include "git+https://github.com/GitbookIO/documentation.git/README.md#0.0.1" %}
# 或者
git+https://[email protected]/project/blah.git/file#commit-ish
```
## 继承
编写内容类似于
```shell
{% extends "./page_info.md" %}
{% block pageContent %}
# This is my page content
{% endblock %}
```
`page_info.md` 内容
```shell
{% block pageContent %}
This is the default content
{% endblock %}
# License
{% import "./LICENSE" %}
```
## 插件
在根目录下创建book.json并添加以下内容
```json
{
"plugins" : [
"code",
"-lunr",
"-search",
"search-pro"
]
}
```
进入根目录下,执行以下命令
```shell
gitbook install
```
## favicon
在项目根目录下新建 gitbook/images 目录
在该目录下存放 favicon 文件
通用 (尺寸 48x48) - favicon.ico
用于苹果设备 (尺寸 152x152) - apple-touch-icon-precomposed-152.png