This is a sample plugin for GitBook.
Install it using: $ npm install gitbook-plugin
A plugin for GitBook is a node package that can be published on NPM.
The package name should begin with gitbook-plugin-
. And if your plugin is a theme, it should begin with gitbook-theme-
.
Examples: gitbook-plugin-mixpanel
, gitbook-plugin-googleanalytics
, gitbook-theme-dark
The package.json should contain a engine
field using the standard norm.
"engines": {
"gitbook": "*"
}
For example if you want your plugin to supports only GitBook version supperior to 0.3.1:
"engines": {
"gitbook": ">=0.3.1"
}
The plugin entry point should return an object with some metadata.
Type: Object
Default value: {}
Type: String
Default value: null
Path to the assets folder to copy
Type: Array
Default value: []
List of javascript file to add to the html pages (relative to the assets folder).
Type: Array
Default value: []
List of css file to add to the html pages (relative to the assets folder).
Type: Object
Default value: {}
Map of position -> code, html snippets to add to each page. The code could be a function.
Type: Object
Default value: {}
Templates to override default templates, only use this option if you want to change entirely how the book is rendered.
This object is a map: "name" -> "file", with names:
- "site": page for a file from the
site
format - "page": page for the
page
format
Type: Object
Default value: {}
Map of "name" -> Function that needs to be called during build process. With names:
- "init": just after initialization, before generation
- "finish": after generation and everything is finished
Each hook can return a promise.