custom.js
82 lines
| 2.7 KiB
| application/javascript
|
JavascriptLexer
Matthias BUSSONNIER
|
r8740 | // leave at least 2 line with only a star on it below, or doc generation fails | ||
/** | ||||
* | ||||
* | ||||
* Placeholder for custom user javascript | ||||
Brian E. Granger
|
r10739 | * mainly to be overridden in profile/static/custom/custom.js | ||
Matthias BUSSONNIER
|
r8740 | * This will always be an empty file in IPython | ||
* | ||||
Matthias Bussonnier
|
r20693 | * User could add any javascript in the `profile/static/custom/custom.js` file. | ||
Matthias BUSSONNIER
|
r8740 | * It will be executed by the ipython notebook at load time. | ||
* | ||||
Brian E. Granger
|
r10742 | * Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook. | ||
dongweiming
|
r19678 | * | ||
* | ||||
Matthias Bussonnier
|
r20690 | * The object available at load time depend on the version of IPython in use. | ||
* there is no guaranties of API stability. | ||||
dongweiming
|
r19678 | * | ||
Matthias Bussonnier
|
r20690 | * The example below explain the principle, and might not be valid. | ||
* | ||||
* Instances are created after the loading of this file and might need to be accessed using events: | ||||
Justin Tyberg
|
r20680 | * define([ | ||
dongweiming
|
r19678 | * 'base/js/namespace', | ||
* 'base/js/events' | ||||
* ], function(IPython, events) { | ||||
* events.on("app_initialized.NotebookApp", function () { | ||||
* IPython.keyboard_manager.... | ||||
* }); | ||||
patricktokeeffe
|
r17548 | * }); | ||
Matthias BUSSONNIER
|
r8741 | * | ||
Jean-Christophe Jaskula
|
r17047 | * __Example 1:__ | ||
Matthias BUSSONNIER
|
r8741 | * | ||
Matthias BUSSONNIER
|
r8740 | * Create a custom button in toolbar that execute `%qtconsole` in kernel | ||
* and hence open a qtconsole attached to the same kernel as the current notebook | ||||
* | ||||
Justin Tyberg
|
r20680 | * define([ | ||
dongweiming
|
r19678 | * 'base/js/namespace', | ||
* 'base/js/events' | ||||
* ], function(IPython, events) { | ||||
* events.on('app_initialized.NotebookApp', function(){ | ||||
* IPython.toolbar.add_buttons_group([ | ||||
* { | ||||
* 'label' : 'run qtconsole', | ||||
* 'icon' : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons | ||||
* 'callback': function () { | ||||
* IPython.notebook.kernel.execute('%qtconsole') | ||||
* } | ||||
* } | ||||
* // add more button here if needed. | ||||
* ]); | ||||
* }); | ||||
Matthias BUSSONNIER
|
r8740 | * }); | ||
* | ||||
Jean-Christophe Jaskula
|
r17047 | * __Example 2:__ | ||
* | ||||
* At the completion of the dashboard loading, load an unofficial javascript extension | ||||
dongweiming
|
r19678 | * that is installed in profile/static/custom/ | ||
Jean-Christophe Jaskula
|
r17047 | * | ||
Justin Tyberg
|
r20680 | * define([ | ||
dongweiming
|
r19678 | * 'base/js/events' | ||
* ], function(events) { | ||||
* events.on('app_initialized.DashboardApp', function(){ | ||||
* require(['custom/unofficial_extension.js']) | ||||
* }); | ||||
Jean-Christophe Jaskula
|
r17047 | * }); | ||
* | ||||
* __Example 3:__ | ||||
Matthias BUSSONNIER
|
r9057 | * | ||
* Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );` | ||||
* to load custom script into the notebook. | ||||
* | ||||
* // to load the metadata ui extension example. | ||||
Brian E. Granger
|
r10739 | * $.getScript('/static/notebook/js/celltoolbarpresets/example.js'); | ||
Matthias BUSSONNIER
|
r9057 | * // or | ||
* // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert | ||||
Brian E. Granger
|
r10739 | * $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js'); | ||
Matthias BUSSONNIER
|
r9057 | * | ||
* | ||||
Matthias BUSSONNIER
|
r8740 | * @module IPython | ||
* @namespace IPython | ||||
* @class customjs | ||||
* @static | ||||
*/ | ||||