gitbook插件编写指南

gitbook还远未成熟,API多变,很多基本的功能都没有,插件质量参差不齐。

我编写了gitbook-plugin-ftpsync,用来将电子书在每次重新生成时通过ftp上传到网站。

重要:该插件运行不正常,可能跟gitbook不支持回调方式运行ftpsync有关.

1. npm环境配置

1.1. 安装npm

sudo apt-get install npm

1.2. 注册npm账户

网站地址:https://www.npmjs.com/。

另外还需要为插件准备一个名字,该名字不可与npm已有包重名。我选用了gitbook-plugin-ftpsync

然后在本地机器添加用户:

npm adduser

这会让你输入用户名密码,之后就不用再输入了。

1.3. 生成一个github的项目仓库

http://github.com建立一个项目。项目名字最好与插件名字同名。

注意gitbook的插件都需要gitbook-plugin开头,否则无法在https://plugins.gitbook.com上被搜索到。

2. 准备插件文件

2.1. README.md

这里是插件的描述信息,在npm和github的项目主页显示。

2.2. index.js

这里是插件的主要内容。怎么写可参考gitbook的开发者文档。

但是gitbook提供的功能极为有限,很多东西都做不了。

2.3. package.json

输入命令npm init可以交互式地生成package.json。但这个文件内容作为gitbook插件还不齐全。最好的方式还是从下面这个文件里改:

{
  "name": "gitbook-plugin-ftpsync",
  "version": "1.1.5",
  "description": "sync gitbook to ftp server after each build",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/zhangzq/gitbook-plugin-ftpsync.git"
  },
  "keywords": [
    "gitbook",
    "plugin",
    "ftp"
  ],
  "author": "zhangzq",
  "license": "GPL-3.0",
  "bugs": {
    "url": "https://github.com/zhangzq/gitbook-plugin-ftpsync/issues"
  },
  "homepage": "https://github.com/zhangzq/gitbook-plugin-ftpsync#readme",
  "dependencies": {
    "ftpsync": "0.1.10"
  },
  "engines": {
    "gitbook": "*"
  }
}

3. 测试插件

在插件目录,运行sudu npm link;在书籍目录,运行npm link gitbook-plugin-ftpsync。注意每次插件的package.json有更新,都需要重新运行此命令。

然后就可以在gitbook里面测试该插件。如果有缺失的依赖项,可以手动用npm install xxx --save来安装。

4. 部署插件

4.1. 部署到npm

时用命令npm publish即可。

gitbook-plugin开头的插件可在gitbook官网上搜索到,并可以gitboou install安装。

4.2. 部署到git

gitbook-plugin-ftpsync为例

git remote add origin https://github.com/zhangzq/gitbook-plugin-ftpsync.git
git add .
git commit -m 'init'
git push origin master
Copyright © zhiqiang.org 2016 all right reserved,powered by Gitbook该文件修订时间: 2016-08-03 01:06:06

results matching ""

    No results matching ""