diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-02-29 21:50:48 +0100 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-02-29 21:50:48 +0100 |
commit | c08e5ce62c30cb8d014151448bfe6da6b5a47fcf (patch) | |
tree | fd9504c00d46786aebe2c65c6a95fa62edb363a7 /docs/plugins | |
parent | ec353e179dedf1ebf1ab6e54f6217a88d087ea75 (diff) | |
download | gitbook-c08e5ce62c30cb8d014151448bfe6da6b5a47fcf.zip gitbook-c08e5ce62c30cb8d014151448bfe6da6b5a47fcf.tar.gz gitbook-c08e5ce62c30cb8d014151448bfe6da6b5a47fcf.tar.bz2 |
Improve structure of doc
Diffstat (limited to 'docs/plugins')
-rw-r--r-- | docs/plugins/README.md | 26 | ||||
-rw-r--r-- | docs/plugins/create.md | 63 | ||||
-rw-r--r-- | docs/plugins/hooks.md | 0 | ||||
-rw-r--r-- | docs/plugins/testing.md | 22 |
4 files changed, 111 insertions, 0 deletions
diff --git a/docs/plugins/README.md b/docs/plugins/README.md new file mode 100644 index 0000000..ff56b7b --- /dev/null +++ b/docs/plugins/README.md @@ -0,0 +1,26 @@ +# Plugins + +Plugins are the best way to extend GitBook functionalities (ebook and website). There exist plugins to do a lot of things: bring math formulas display support, track visits using Google Analytic, etc. + +### How to find plugins? + +Plugins can be easily searched on [plugins.gitbook.com](https://plugins.gitbook.com). + + +### How to install a plugin? + +Once you find a plugin that you want to install, you need to add it to your `book.json`: + +``` +{ + "plugins": ["myPlugin", "anotherPlugin"] +} +``` + +You can also specify a specific version using: `"myPlugin@0.3.1"`. By default GitBook will resolve the latest version of the plugin compatbile with the current GitBook version. + +Plugins are automatically installed on [GitBook.com](https://www.gitbook.com). Locally, run `gitbook install` to install and prepare all plugins for your books. + +### Configuring plugins + +PLugins specific configurations are stored in `pluginsConfig`. You have to refer to the documentation of the plugin itself for details about the available options. diff --git a/docs/plugins/create.md b/docs/plugins/create.md new file mode 100644 index 0000000..787b191 --- /dev/null +++ b/docs/plugins/create.md @@ -0,0 +1,63 @@ +# Create and publish a plugin + +A GitBook plugin is a node package published on NPM that follow a defined convention. + +## Structure + +#### package.json + +The `package.json` is a manifest format for describing **Node.js modules**. GitBook plugins are built on top of Node modules. It declares dependencies, version, ownership, and other information required to run a plugin in GitBook. This document describes the schema in detail. + +``` +{ + "name": "gitbook-plugin-mytest", + "version": "0.0.1", + "description": "This is my first GitBook plugin", + "engines": { + "gitbook": ">1.x.x" + } +} +``` + +You can learn more about `package.json` from the [NPM documentation](https://docs.npmjs.com/files/package.json). + +The **package name** must begin with `gitbook-plugin-` and the **package engines** should contains `gitbook`. + +#### index.js + +The `index.js` is main entry point of your plugin runtime: + +```js +module.exports = { + // Map of hooks + hooks: {}, + + // Map of new blocks + blocks: {}, + + // Map of new filters + filters: {} +}; +``` + +## Publish your plugin + +GitBook plugins can be published on [NPM](https://www.npmjs.com). + +To publish a new plugin, you need to create an account on [npmjs.com](https://www.npmjs.com) then publish it from the command line: + +``` +$ npm publish +``` + +## Private plugins + +Private plugins can be hosted on GitHub and included using `git` urls: + +``` +{ + "plugins": [ + "git+https://github.com/MyCompany/mygitbookplugin.git#1.0.0" + ] +} +``` diff --git a/docs/plugins/hooks.md b/docs/plugins/hooks.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/plugins/hooks.md diff --git a/docs/plugins/testing.md b/docs/plugins/testing.md new file mode 100644 index 0000000..bf00da2 --- /dev/null +++ b/docs/plugins/testing.md @@ -0,0 +1,22 @@ +# Testing your plugin + +### Testing your plugin locally + +Testing your plugin on your book before plushing it is possible using [npm link](https://docs.npmjs.com/cli/link). + +In the plugin's folder, run: + +``` +$ npm link +``` + +The nin your book's folder: + +``` +$ npm link gitbook-plugin-<plugin's name> +``` + +### Unit testing on Travis + +[gitbook-tester](https://github.com/todvora/gitbook-tester) makes it easy to write **Node.js/Mocha** unit tests for your plugins. Using [Travis.org](https://travis.org), tests can be run on each commits/tags. + |