From 3643112b35255b2fddf21041343b31cc64222fb1 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Wed, 3 Apr 2019 10:49:14 +0200 Subject: [PATCH] plugin doc tweaks --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f6eee5e..33956e9 100644 --- a/README.md +++ b/README.md @@ -1235,19 +1235,20 @@ Then: ## Plugins -Plugins should be registered with reveal.js by calling `Reveal.registerPlugin( 'myPluginID', MyPlugin )`. Registered plugin instances should expose an "init" function that reveal.js can call to initialize them. +Plugins should register themselves with reveal.js by calling `Reveal.registerPlugin( 'myPluginID', MyPlugin )`. Registered plugin instances can optionally expose an "init" function that reveal.js will call to initialize them. -When reveal.js is booted up via `Reveal.initialize()`, it will go through all registered plugins and invoke their "init" methods. If the "init" method returns a Promise, reveal.js will wait for that promise to be fullfilled before finshing the startup sequence and firing the [ready](#ready-event) event. Here's an example of a plugin that returns a promise: +When reveal.js is booted up via `Reveal.initialize()`, it will go through all registered plugins and invoke their "init" methods. If the "init" method returns a Promise, reveal.js will wait for that promise to be fullfilled before finshing the startup sequence and firing the [ready](#ready-event) event. Here's an example of a plugin that does some asynchronous work before reveal.js can proceed: ```javascript -Reveal.registerPlugin( 'myPlugin', { +let MyPlugin = { init: () => new Promise( resolve => setTimeout( resolve, 3000 ) ) -} ); +}; +Reveal.registerPlugin( 'myPlugin', MyPlugin ); Reveal.addEventListener( 'ready', () => console.log( 'Three seconds later...' ) ); Reveal.initialize(); ``` -If the init method does _not_ return a Promise, it is considered ready right away and will not hold up the reveal.js startup sequence. +If the init method does _not_ return a Promise, the plugin is considered ready right away and will not hold up the reveal.js startup sequence. ### Retrieving Plugins