Gitbook
插件是扩展 GitBook
功能(电子书和网站)的最佳方式.html
只要是 Gitbook
默认没有提供的功能,基于插件机制均可以自行扩展,是插件让 Gitbook
变得更增强大.node
本文将全面介绍插件的相关知识并重点介绍插件开发的全流程,只有熟悉插件开发流程才能作到有的放矢,心中有数,进而开发出本身的插件.git
关于插件请参考
Gitbook
入门教程高级进阶系列文章,本文重点讲解开发Gitbook
的基本流程.github
您能够在轻松搜索插件,也能够在Gitbook
官网npmjs
官网搜索 gitbook-plugin-<name>
插件.npm
目前Gitbook
官方已 再也不为维护插件网站,只能经过npmjs
发现Gitbook
插件.
一旦你找到你想要安装的插件,你须要将它添加到你的 book.json
配置文件,若是没有该文件则自行建立.json
{ "plugins": ["myPlugin", "anotherPlugin"] }
您还可使用如下命令指定特定版本: myPlugin@0.3.1
.
默认不填写版本的状况下,GitBook
使用最新版本(兼容版本)的插件.bash
gitbook install
来安装插件.$ gitbook install
或者使用 npm
提早下载插件再安装到本地项目:app
$ npm install gitbook-plugin-<name> $ gitbook install
插件的配置在 book.json
配置文件中的 pluginsConfig
属性中(若是没有该属性请自行建立),
安装插件时,最好浏览插件的文档了解相关选项的详细信息.函数
{ "plugins": ["github"], "pluginsConfig": { "github": { "url": "https://github.com/snowdreams1006/snowdreams1006.github.io" } } }
有些插件并未提供插件配置项,能够省略该步骤,有的插件会提供配置项,以插件介绍文档为准.
GitBook
插件是在 npm
上发布的遵循传统定义的 node
包,除了标准的 node
规范外还有一些 Gitbook
自身定义的相关规范.布局
Gitbook
插件最基本的项目结构至少包括配置文件 package.json
和入口文件 index.js
,其余目录文件根据插件用途自行增减.
. ├── index.js └── package.json
实际插件项目略有不一样,可能还会有_layouts
布局目录,asset
资源目录以及自定义example
示例目录和docs
文档目录等等.
package.json
是nodejs
的配置文件,Gitbook
插件一样遵循该规范,配置文件声明了插件的版本描述性信息,除此以外还有 Gitbook
相关字段,遵循schema
准则,基本示例以下:
{ "name": "gitbook-plugin-mytest", "version": "0.0.1", "description": "This is my first GitBook plugin", "engines": { "gitbook": ">1.x.x" }, "gitbook": { "properties": { "myConfigKey": { "type": "string", "default": "it's the default value", "description": "It defines my awesome config!" } } } }
值得注意的是, 包名称必须以gitbook-plugin-
开头, 包引擎应该包含gitbook
.如需了解package.json
的规范,可参考 官方文档
index.js
是插件运行时的入口,基本示例以下:
module.exports = { // 钩子函数 hooks: {}, // 代码块 blocks: {}, // 过滤器 filters: {} };
GitBook
插件能够在npmjs
官网上发布.
如需发布插件,首先须要在npmjs
官网上注册账户,而后经过命令行发布.
$ npm publish
专用插件能够托管在 GitHub
上,并使用 git
urls:
{ "plugins": [ "myplugin@git+https://github.com/MyCompany/mygitbookplugin.git#1.0.0" ] }
使用 npm link
能够在发布以前测试你的插件,命令详情参考官方文档
在插件的文件夹中,运行:
$ npm link
而后在您的书或者文档的文件夹中执行:
$ npm link gitbook-plugin-<name>
gitbook-tester
能够方便地为你的插件编写Node.js/Mocha单元测试.
使用Travis
.能够对每一个提交/标签运行测试.
Gitbook
插件是扩展 Gitbook
功能的不二之选,若是熟悉 nodejs
项目的开发流程,只要稍微熟悉下 Gitbook
提供的接口文档,开发出本身的插件应该不是难事!
但愿本文可以对你理解 Gitbook
插件有所帮助,了解并熟练掌握插件开发的全流程,若是本文对你有所帮助,别忘了给我一个正面反馈以鼓励我继续创做哟!
若是本文对你有所帮助,不用赞扬,也没必要转发,直接点赞留言告诉鼓励一下就能够啦!