环境

nodejs

nodejs目前的版本比较高,如果直接使用14版本,会存在gitbook安装失败,最好使用12版本

yum install nodejs
# 检查是否安装成功
node -v

安装

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
gitbook build ./Thief ./ThiefTarget/

配置nginx

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.jpgcover_small.jpg
大小(像素)1800x2360200x262

术语

增加 GLOSSARY.md 文件,貌似目前值支持英文的,不支持 GitBook 中文 术语

引用文件

# 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

继承

编写内容类似于

{% extends "./page_info.md" %}

{% block pageContent %}
# This is my page content
{% endblock %}

page_info.md 内容

{% block pageContent %}
This is the default content
{% endblock %}

# License

{% import "./LICENSE" %}

插件

在根目录下,创建book.json,并添加以下内容

{
  "plugins" : [
    "code",
    "-lunr",
    "-search",
    "search-pro"
  ]
}

进入根目录下,执行以下命令

gitbook install

favicon

在项目根目录下新建 gitbook/images 目录 在该目录下存放 favicon 文件

通用 (尺寸 48x48) - favicon.ico 用于苹果设备 (尺寸 152x152) - apple-touch-icon-precomposed-152.png