gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程

什么是插件

Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式.html

只要是 Gitbook 默认没有提供的功能,基于插件机制均可以自行扩展,是插件让 Gitbook 变得更增强大.node

gitbook-develop-application-preview.png

本文将全面介绍插件的相关知识并重点介绍插件开发的全流程,只有熟悉插件开发流程才能作到有的放矢,心中有数,进而开发出本身的插件.git

关于插件请参考 Gitbook 入门教程高级进阶系列文章,本文重点讲解开发 Gitbook基本流程.github

如何发现插件

您能够在~~Gitbook官网~~轻松搜索插件,也能够在npmjs 官网搜索 gitbook-plugin-<name> 插件.npm

gitbook-plugin-npm-preview.png

目前 Gitbook 官方已再也不为维护插件网站,只能经过 npmjs 发现 Gitbook 插件.json

如何安装插件

一旦你找到你想要安装的插件,你须要将它添加到你的 book.json 配置文件,若是没有该文件则自行建立.bash

{
    "plugins": ["myPlugin", "anotherPlugin"]
}
复制代码

您还可使用如下命令指定特定版本: myPlugin@0.3.1 . 默认不填写版本的状况下,GitBook 使用**最新版本(兼容版本)**的插件.app

安装插件

  • 若是是官网在线环境,网站会自动帮你安装插件.
  • 若是是在本地环境,直接运行 gitbook install 来安装插件.
$ gitbook install
复制代码

或者使用 npm 提早下载插件再安装到本地项目:函数

$ 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

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

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-develop-cheer.jpg

但愿本文可以对你理解 Gitbook 插件有所帮助,了解并熟练掌握插件开发的全流程,若是本文对你有所帮助,别忘了给我一个正面反馈以鼓励我继续创做哟!

阅读延伸

若是你以为本文对你有所帮助,欢迎点赞留言告诉我,你的鼓励是我继续创做的动力,不妨顺便关注下我的公众号「雪之梦技术驿站」,按期更新优质文章哟!

雪之梦技术驿站.png
相关文章
相关标签/搜索