什么是插件Gitbook插件是扩展GitBook功能(电子书和网站)的最佳方式。只要是Gitbook默认不提供的功能,都可以基于插件机制自行扩展。是让Gitbook更加强大的插件。本文将全面介绍插件相关知识,着重介绍插件开发的全过程。只有熟悉了插件的开发流程,才能有的放矢,知其然,然后开发自己的插件。插件请参考Gitbook入门教程进阶进阶系列文章。本文重点介绍开发Gitbook的基本过程。gitbook入门教程的插件介绍。目前Gitbook官方不再维护插件网站,只能通过npmjs查找Gitbook插件。如何安装插件一旦你找到你想要安装的插件,你需要将它添加到你的book.json配置文件中,如果没有这样的文件然后自己创建。{"plugins":["myPlugin","anotherPlugin"]}也可以使用如下命令指定具体版本:myPlugin@0.3.1。如果版本不填,默认GitBook使用最新版本(兼容版本)插件。如果插件安装在官网在线环境下,网站会自动为您安装插件。如果是本地环境,直接运行gitbookinstall安装插件。$gitbookinstall或者使用npm提前下载好插件安装到本地项目:$npminstallgitbook-plugin-$gitbookinstallconfigurationplugin插件的配置在书中的pluginsConfig属性中.json配置文件(如果没有该属性,请自行创建)。安装插件时,最好浏览一下插件的文档,了解一下选项的详细信息。{"plugins":["github"],"pluginsConfig":{"github":{"url":"https://github.com/snowdreams1006/snowdreams1006.github.io”}}}有些插件不提供插件配置项,可以省略这一步,有些插件会提供配置项,参考插件介绍文档。如何开发插件GitBook插件是在npm上发布的节点包,遵循传统的定义。除了标准的node规范外,还有一些Gitbook自己定义的相关规范。目录结构Gitbook插件最基本的项目结构至少包括配置文件package.json和入口文件index.js,其他目录文件可以根据插件的用途增减。├──index.js└──package.json实际插件工程略有不同,可能会有_layouts布局目录、asset资源目录、自定义示例示例目录和docs文档目录等package.jsonpackage.json是nodejs的配置文件和Gitbook插件也遵循这个规范。配置文件声明了插件的版本描述信息。此外,还有Gitbook相关字段,遵循schema指南。基本示例如下:{"name":"gitbook-plugin-mytest","version":"0.0.1","description":"ThisismyfirstGitBookplugin","engines":{"gitbook":">1.x.x"},"gitbook":{"properties":{"myConfigKey":{"type":"string","default":"这是默认值","description":"它定义了我很棒的配置!”}}}}值得注意的是,包名必须以gitbook-plugin-开头,包引擎要包含gitbook。package.json的规范可以参考官方文档index.jsindex.js是插件运行时的入口。基本示例如下:module.exports={//钩子函数hooks:{},//代码块blocks:{},//过滤器filters:{}};发布插件GitBook插件可以在npmjs官网发布。发布插件,首先需要在npmjs官网注册一个账号,然后通过命令行发布。":["myplugin@git+https://github.com/MyCompany/mygitbookplugin.git#1.0.0"]}本地测试插件在发布前使用npmlink测试你的插件。具体命令参考插件文件夹下的官方文档,运行:$npmlink然后在你的书本或文档文件夹中执行:$npmlinkgitbook-plugin-单元测试插件gitbook-tester可以轻松编写Node.js/Mocha单元测试你的插件。使用特拉维斯。您可以为每个提交/标记运行测试。插件总结Gitbook插件是扩展Gitbook功能的最佳选择。如果熟悉nodejs项目的开发流程,只要稍微熟悉Gitbook提供的接口文档,开发自己的插件应该不难!希望本文能帮助大家了解Gitbook插件,了解并掌握插件开发的全过程。如果这篇文章对你有帮助,别忘了给我一个正反馈,鼓励我继续创作!阅读扩展什么是Gitbook插件如何创建Gitbook插件如何测试Gitbook插件如果这篇文章对你有帮助,你就不用欣赏了,你也不用需要转发的,就点赞和留言告诉和鼓励吧!