-
Notifications
You must be signed in to change notification settings - Fork 2
extension
Une extension sur jupyter est un module complémentaire qui va greffer à jupyter de nouvelles fonctionnalités. Elles sont généralement écrites en Javascript et son chargées localement sur votre ordinateur.
Nous vous invitons à regarder sur le GitHub de NB_Extension pour y trouver une grande collection d' extensions déjà existantes.
En chargeant l[[extension]] sageDragon jupyter copie sageDragon.js dans le dossier caché /home/scra/.local/share/jupyter/nbextensions/sagedragon.js
'
La fonction activate_extension est appelé ce qui permet de load sageDragon en lui indiquant le pattern de localisation de notre fichier js.
var activate_extension = function (self) {
//Install JS extensions
path = os.path.abspath(os.path.join.dirname("notebook", os.path.padir));
install_nbextension(path, overwrite = True, user = True);
js_cm = ConfigManager();
// activer l'extension
js_cm.update('notebook', {"load_extensions": {'sageDragon/static/js/notebook ': True}})
};
return {
load_ipython_extension: load_ipython_extension
};
Ensuite la fonction load_extension dans le fichier utils.js est appelé : fonctions_utile
/** * Load a single extension. * @param {string} extension - extension path. * @return {Promise} that resolves to an extension module handle */ var load_extension = function (extension) { return new Promise(function(resolve, reject) { var ext_path = "nbextensions/" + extension; requirejs([ext_path], function(module) { if (!is_loaded(extension)) { console.log("Loading extension: " + extension); if (module.load_ipython_extension) { Promise.resolve(module.load_ipython_extension()).then(function() { resolve(module); }).catch(reject); } extensions_loaded.push(ext_path); } else { console.log("Loaded extension already: " + extension); resolve(module); } }, function(err) { reject(err); }); }); };