gitbook

  • 环境搭建

    • 安装node

    • 安装gitbook

  • gitbook快速入门

  • book.json

  • 插件使用

环境搭建

安装node

  1. 下载解压

wget -c https://nodejs.org/download/release/v12.22.12/node-v12.22.12-linux-x64.tar.gz

tar xf node-v12.22.12-linux-x64.tar.gz

mv node-v12.22.12-linux-x64 /usr/local/node

  1. 添加环境变量

cat ~/.bash_profile


NODEPATH="/usr/local/node"

PATH=$PATH:$HOME/bin:$NODEPATH/bin


source ~/.bash_profile # 重新加载环境变量

node -v # 查看node版本

安装gitbook


npm install -g gitbook-cli # 全局安装gitbook-cli

gitbook -V # 查看gitbook版本

CLI version: 2.3.2    

GitBook version: 3.2.3

gitbook快速入门

  1. 初始化项目

mkdir vim_book

cd vim_book

gitbook init # 初始化

  1. 添加md文件到项目

[root@localhost vim_book]# tree -N

.

├── end

│     └── README.md

├── img

├── notes

│     ├── VIM从放弃到爱不释手-README.md

│     ├── VIM从放弃到爱不释手.xmind

│     ├── VIM从放弃到爱不释手-基础-三大模式.md

│     ├── VIM从放弃到爱不释手-基础-安装VIM.md

│     ├── VIM从放弃到爱不释手-基础-文件的打开与关闭.md

│     ├── VIM从放弃到爱不释手-基础-替换.md

│     ├── VIM从放弃到爱不释手-基础-查找.md

│     ├── VIM从放弃到爱不释手-基础-移动光标.md

│     └── VIM从放弃到爱不释手-基础-编辑文件.md

├── README.md

└── SUMMARY.md

  1. 编写SUMMARY.md

[root@localhost vim_book]# cat SUMMARY.md

# Summary



* [简介](notes/VIM从放弃到爱不释手-README.md)

* 入门

    * [README](notes/VIM从放弃到爱不释手-README.md)

    * [三大模式](notes/VIM从放弃到爱不释手-基础-三大模式.md)

    * [安装VIM](notes/VIM从放弃到爱不释手-基础-安装VIM.md)

    * [文件的打开与关闭](notes/VIM从放弃到爱不释手-基础-文件的打开与关闭.md)

* 进阶

    * [替换](notes/VIM从放弃到爱不释手-基础-替换.md)

    * [查找](notes/VIM从放弃到爱不释手-基础-查找.md)

    * [移动光标](notes/VIM从放弃到爱不释手-基础-移动光标.md)

    * [编辑文件](notes/VIM从放弃到爱不释手-基础-编辑文件.md)

* [结束](end/README.md)

  1. 预览项目

[root@localhost vim_book]# gitbook serve

Live reload server started on port: 35729

Press CTRL+C to quit ...



info: 12 plugins are installed

info: 7 explicitly listed

info: loading plugin "livereload"... OK

info: loading plugin "highlight"... OK

info: loading plugin "search"... OK

info: loading plugin "lunr"... OK

info: loading plugin "sharing"... OK

info: loading plugin "fontsettings"... OK

info: loading plugin "theme-default"... OK

info: found 10 pages

info: found 94 asset files

info: >> generation finished with success in 1.0s !



Starting server ...

Serving book on http://localhost:4000

使用浏览器访问 http://localhost:4000,如果是别的电脑则使用IP访问 http://安装gitbook服务器的IP:4000

book.json

在项目根目录创建book.json文件


[root@localhost vim_book]# cat book.json

{

    "title": "VIM从放弃到爱不释手",

    "author": "Rock",

    "description": "VIM从放弃到爱不释手",

    "language": "zh-hans",

    "styles": {

        "website": "styles/website.css"

    },

    "links": {

        "sidebar": {

            "Home": "https://kexec.cn"

        }

    },

    "plugins": [

        "-highlight",

        "-search",

        "-sharing",

        "-font-settings",

        "-livereload"

    ],

    "pluginsConfig": {

    }

}

| title | 本书标题 |

|---------------|-----------------------------------------------|

| root | 包含所有图书文件的根文件夹的路径,除了book.json |

| author | 本书作者 |

| description | 本书描述 |

| language | 本书语言,中文设置 “zh-hans” 即可 |

| gitbook | 指定使用的 GitBook 版本 |

| styles | 自定义页面样式 |

| structure | 指定 Readme、Summary、Glossary 和 Languages 对应的文件名 |

| variables | 这个选项定义书籍中的变量 |

| links | 在左侧导航栏添加链接信息 |

| plugins | 配置使用的插件 |

| pluginsConfig | 配置插件的属性 |

自定义页面样式


"styles": {

    "website": "styles/website.css",

    "ebook": "styles/ebook.css",

    "pdf": "styles/pdf.css",

    "mobi": "styles/mobi.css",

    "epub": "styles/epub.css",

}

structure结构配置

除了 root 变量,你可以通过 structure 告诉Gitbook [Readme],[Summary],[Glossary],[Languages]的文件名(

而不是使用默认名称,如README.md)。这些文件必须在您的书籍项目的根目录。不接受像 doc/README.md 这样的子目录路径。


"structure": {

    "readme": "README.md",

    "summary": "SUMMARY.md",

    "glossary": "GLOSSARY.md",

    "languages": "LANGS.md"

}

| readme | 自述文件名(默认为 README.md) |

|-----------|-------------------------|

| summary | 摘要文件名(默认为 SUMMARY.md) |

| glossary | 词汇表文件名(默认为 GLOSSARY.md) |

| languages | 语言文件名(默认为 LANGS.md) |

links 链接导航

通过 links 配置在左侧导航栏添加指定的链接导航,如:添加自己的博客链接,GIthub链接等等…


"links": {

    "sidebar": {

        "Home": "https://kexec.cn"

    }

}

默认插件

highlight - 语法高亮插件

search - 搜索插件

sharing - 分享插件

font-settings - 字体设置插件

livereload - 热加载插件

code 代码复制插件

expandable-chapters 目录折叠

expandable-chapters-small 目录折叠(小)

back-to-top-button 回到顶部

search-pro 高级搜索

tbfed-pagefooter 页脚配置


"tbfed-pagefooter":{

	"copyright":"Copyright &copy mine 2000-2022",

	"modify_label":"文件修订时间",

	"modify_format": "YYYY-MM-DD HH:mm:ss"

}

page-treeview 生成页内目录

"page-treeview": {

"copyright": "Copyright © aleen42",

"minHeaderCount": "2",

"minHeaderDeep": "2"

}

simple-page-toc 生成页内目录

"simple-page-toc": {

"maxDepth": 3, # 使用深度最多为maxdepth的标题

"skipFirstH1": true # 排除文件中的第一个h1级标题

}

使用方法: 在需要生成目录的地方用下面的标签括起来,全文都生成的话就在首尾添加

内容部分

page-toc-button 悬浮目录

名称 默认 描述

maxTocDepth 2 标题的最大深度(2 = h1 + h2 + h3)。不支持值> 2。

minTocSize 2 显示toc按钮的最小toc条目数。

ancre-navigation 悬浮目录和回到顶部

donate 打赏插件

文章最下面的按钮,点击可弹出图片

"donate": {

"wechat": "微信收款的二维码URL",

"alipay": "支付宝收款的二维码URL",

"title": "支持1",

"button": "支持2",

"alipayText": "支持2",

"wechatText": "支持2",

}

todo

github

emphasize 文本加上底上

splitter 侧边栏宽度可调节

sharing-plus 分享插件

favicon

anchors

anchor-navigation-ex

"donate":{

"alipay":"./source/images/donate.png",

"title":"喜欢的化,鼓励一下吧",

"button":"赞赏",

"alipayText":""

}

"anchor-navigation-ex":{

"showLevel": false

}

"favicon":{

"shortcut": "./img/favicon.jpg",

"bookmark": "./img/favicon.jpg",

"appleTouch": "./img/favicon.jpg",

"appleTouchMore": {

"120x120": "./img/favicon.jpg",

"180x180": "./img/favicon.jpg"

}

}

change_girls 背景自动切换

time:图片的切换时间,单位是秒

urls: 一个数组,可以定义多个图片,只能使用互联网上的绝对地址

"change_girls": {

"time":10,

"urls": [

"https://www.xxx.com/a.jpg"

]

}

"insert-logo": {

"url": "/images/favicon.ico",

"style": "background: none; max-height: 30px; min-height:30px;"

}

alerts 警报

pageview-count 阅读量计数

auto-scroll-table 表格滚动条

popup 弹出大图 单击图片,在新页面查看大图。

lightbox 单击查看图片 点击图片在新窗口查看,大小不变

click-reveal 点击显示 默认隐藏,点击可显示。

custom-favicon 修改标题栏图标

"favicon": "favicon.ico"

accordion 折叠模块

这个插件名叫手风琴,可以实现将内容隐藏起来,外部显示模块标题和显示箭头,点击箭头可显示里面的内容。

node 管理工具

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

source .bashrc

nvm install 10.24.1

npm config set registry http://registry.npm.taobao.org/ # 设置 taobao npm 源

npm install -g gitbook-cli # 全局安装gitbook-cli

gitbook init

gitbook serve

gitbook build


  • alerts 提示框的增强

  • anchor 锚点

  • chapter 菜单折叠

  • code 代码行号、复制

  • favicon 网站的小图标

  • github 链接到github仓库

  • pagefooter 页脚说明

  • prism 代码着色

  • search 增强中文搜索

  • section 文本折叠

  • sharing 分享增强

  • splitter 菜单动态伸缩

  • statistics 搜索引擎点击统计,百度统计,谷歌统计

  • version 多版本选择


再说明:

gitbook 3.2.3 版本会出现 split 错误;3.0.0 可正常使用;

gitbook install # 安装扩展

gitbook ls # 查看 本地版本

gitbook fetch 3.0.0 # 拉取 3.0.0 版本

gitbook serve # 切换为 3.0.0 版本开启服务