插件
记录一些实用的插件, 如果要指定插件的版本可以使用 [email protected]。下面的插件在 GitBook 的 3.2.3 版本中可以正常工作,因为一些插件可能不会随着 GitBook 版本的升级而升级,即下面的插件可能不适用高版本的 GitBook,所以这里指定了 GitBook 的版本。另外本文记录的插件在 Linux 下都是可以正确工作的,windows 系统没有测试。这里只是列举了一部分插件,如果有其它的需求,可以到 插件官网 区搜索相关插件。
Disqus
添加disqus评论
Search Plus
支持中文搜索, 需要将默认的 search 和 lunr 插件去掉。
Prism
使用 Prism.js 为语法添加高亮显示,需要将 highlight 插件去掉。该插件自带的主题样式较少,可以再安装 prism-themes 插件,里面多提供了几种样式,具体的样式可以参考 这里,在设置样式时要注意设置 css 文件名,而不是样式名。
如果需要修改背景色、字体大小等,可以在 website.css 定义 pre[class*="language-"] 类来修改,下面是一个示例:
Advanced Emoji
支持emoji表情
使用示例:
:bowtie: 😄 😆 😊 😃 ☺️
Github
添加github图标
Github Buttons
添加项目在 github 上的 star,watch,fork情况
Ace Plugin
使 GitBook 支持ace 。默认情况下,line-height 为 1,会使代码显得比较挤,而作者好像没提供修改行高的选项,如果需要修改行高,可以到 node_modules -> github-plugin-ace -> assets -> ace.js 中加入下面两行代码 (30 行左右的位置):
不过上面的做法有个问题就是,每次使用 gitbook install 安装新的插件之后,代码又会重置为原来的样子。另外可以在 website.css 中加入下面的 css 代码来指定 ace 字体的大小
使用插件:
使用示例:
Emphasize
为文字加上底色
使用示例:
KaTex
为了支持数学公式, 我们可以使用KaTex和MathJax插件, 官网上说Katex速度要快于MathJax
使用示例:
Include Codeblock
使用代码块的格式显示所包含文件的内容. 该文件必须存在。插件提供了一些配置,可以区插件官网查看。如果同时使用 ace 和本插件,本插件要在 ace 插件前面加载。
使用示例:
Splitter
使侧边栏的宽度可以自由调节

Mermaid-gb3
使用示例:
Puml
使用 PlantUML 展示 uml 图。
使用示例:
效果如下所示:
Graph
使用 function-plot 绘制数学函数图。
下面是一个示例,需要注意的是 `
` 块中的内容必须是合法的 JSON 格式。
效果如下所示:
Chart
使用 C3.js 或者 Highcharts 绘制图形。
type 可以是 c3 或者 highcharts, 默认是 c3.
下面是一个示例:
效果如下所示:
Sharing-plus
分享当前页面,比默认的 sharing 插件多了一些分享方式。
配置:
Tbfed-pagefooter
为页面添加页脚
Expandable-chapters-small
使左侧的章节目录可以折叠
Sectionx
将页面分块显示,标签的 tag 最好是使用 b 标签,如果使用 h1-h6 可能会和其他插件冲突。 插件地址
使用示例
GA
Google 统计 插件地址
3-ba
百度统计 插件地址
Donate
打赏插件 插件地址
Local Video
使用Video.js 播放本地视频 插件地址
使用示例:为了使视频可以自适应,我们指定视频的width为100%,并设置宽高比为16:9,如下面所示
另外我们还要再配置下css,即在website.css中加入
Simple-page-toc
自动生成本页的目录结构。另外 GitBook 在处理重复的标题时有些问题,所以尽量不适用重复的标题。 插件地址
使用方法: 在需要生成目录的地方加上 <!-- toc -->
Anchors
添加 Github 风格的锚点样式

Anchor-navigation-ex
添加Toc到侧边悬浮导航以及回到顶部按钮。需要注意以下两点:
本插件只会提取 h[1-3] 标签作为悬浮导航
只有按照以下顺序嵌套才会被提取
Edit Link
如果将 GitBook 的源文件保存到github或者其他的仓库上,使用该插件可以链接到当前页的源文件上。 插件地址
Sitemap-general
生成sitemap 插件地址
Favicon
更改网站的 favicon.ico 插件地址
Todo
添加 Todo 功能。默认的 checkbox 会向右偏移 2em,如果不希望偏移,可以在 website.css 里加上下面的代码:
使用示例:
Terminal
模拟终端显示,主要用于显示命令以及多行输出,不过写起来有些麻烦。
现在支持 6 种标签:
command: Command "executed" in the terminal.
delimiter: Sequence of characters between the prompt and the command.
error: Error message.
path: Directory path shown in the prompt.
prompt: Prompt of the user.
warning: Warning message.
标签的使用格式如下所示:
为了使标签正常工作,需要在代码块的第一行加入 **[termial] 标记,下面是一个完整的示例:
效果如下所示:
terminal 支持下面 5 种样式,如果需要更换样式,在 pluginsConfig 里配置即可。
black: Just that good old black terminal everybody loves.
classic: Looking for green color font over a black background? This is for you.
flat: Oh, flat colors. I love flat colors. Everything looks modern with them.
ubuntu: Admit it or not, but Ubuntu have a good looking terminal.
white: Make your terminal to blend in with your GitBook.
Copy-code-button
为代码块添加复制的按钮。
效果如下图所示:

Alerts
添加不同 alerts 样式的 blockquotes,目前包含 info, warning, danger 和 success 四种样式。
下面是使用示例:
效果如下所示:
Info styling
[info] For info
Use this for infomation messages.
Warning styling
[warning] For warning
Use this for warning messages.
Danger styling
[danger] For danger
Use this for danger messages.
Success styling
[success] For info
Use this for success messages.
Include-csv
展示 csv 文件。
使用示例:
效果如下所示:
Musicxml
支持 musicxml 格式的乐谱渲染。
下面是一个示例,需要注意的是 block 中的内容必须是一个合法的 musicxml 文件路径,并且不能有换行和空格。
效果如下所示
Klipse
集成 Klipse (online code evaluator)
klipse 目前支持下面的语言:
javascript: evaluation is done with the javascript function eval and pretty printing of the result is done with pretty-format
clojure[script]: evaluation is done with Self-Hosted Clojurescript
ruby: evaluation is done with Opal
C++: evaluation is done with JSCPP
python: evaluation is done with Skulpt
scheme: evaluation is done with BiwasScheme
PHP: evaluation is done with Uniter
BrainFuck
JSX
EcmaScript2017
Google Charts: See Interactive Business Report with Google Charts.
下面是一个使用示例:
效果如下所示:
Versions-select
添加版本选择的下拉菜单,针对文档有多个版本的情况。
我们可以自定义 css 来修改 select 的显示样式:
效果见左上角。
RSS
添加 rss 订阅功能。
效果见右上角。
最后更新于