* [Styling](axes/styling.md)
* [Developers](developers/README.md)
* [Chart.js API](developers/api.md)
+ * [JSDoc](jsdoc/index.html)
* [Updating Charts](developers/updates.md)
* [Plugins](developers/plugins.md)
* [New Charts](developers/charts.md)
});
```
-## Plugin Core API
-
-Available hooks (as of version 2.7):
-
-* `beforeInit`
-* `afterInit`
-* `beforeUpdate` *(cancellable)*
-* `afterUpdate`
-* `beforeLayout` *(cancellable)*
-* `afterLayout`
-* `beforeDatasetsUpdate` *(cancellable)*
-* `afterDatasetsUpdate`
-* `beforeDatasetUpdate` *(cancellable)*
-* `afterDatasetUpdate`
-* `beforeRender` *(cancellable)*
-* `afterRender`
-* `beforeDraw` *(cancellable)*
-* `afterDraw`
-* `beforeDatasetsDraw` *(cancellable)*
-* `afterDatasetsDraw`
-* `beforeDatasetDraw` *(cancellable)*
-* `afterDatasetDraw`
-* `beforeEvent` *(cancellable)*
-* `afterEvent`
-* `resize`
-* `destroy`
+ ## Plugin Core API
+
+Read more about the [existing plugin extension hooks](../jsdoc/IPlugin.html).
var gulp = require('gulp');
var eslint = require('gulp-eslint');
var file = require('gulp-file');
+var jsdoc = require('gulp-jsdoc3');
var replace = require('gulp-replace');
var size = require('gulp-size');
var streamify = require('gulp-streamify');
}));
}
-function docsTask() {
- var bin = 'gitbook-cli/bin/gitbook.js';
+function docsTask(done) {
+ var bin = require.resolve('gitbook-cli/bin/gitbook.js');
var cmd = argv.watch ? 'serve' : 'build';
return run(bin, ['install', './'])
- .then(() => run(bin, [cmd, './', './dist/docs']));
+ .then(() => run(bin, [cmd, './', './dist/docs']))
+ .then(() => {
+ var config = {
+ opts: {
+ destination: './dist/docs/jsdoc'
+ },
+ recurse: true
+ };
+ gulp.src(['./src/**/*.js'], {read: false})
+ .pipe(jsdoc(config, done));
+ }).catch((err) => {
+ done(new Error(err.stdout || err));
+ });
}
function unittestTask(done) {
"gulp-eslint": "^6.0.0",
"gulp-file": "^0.4.0",
"gulp-htmllint": "^0.0.16",
+ "gulp-jsdoc3": "^2.0.0",
"gulp-replace": "^1.0.0",
"gulp-size": "^3.0.0",
"gulp-streamify": "^1.0.2",