index.template.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. require('es6-promise/auto'); // polyfill Promise on IE'
  2. require('font-awesome/css/font-awesome.min.css');
  3. require('@jupyterlab/default-theme/style/index.css');
  4. var app = require('@jupyterlab/application').JupyterLab;
  5. var PageConfig = require('@jupyterlab/coreutils').PageConfig;
  6. function main() {
  7. var version = PageConfig.getOption('appVersion') || 'unknown';
  8. var name = PageConfig.getOption('appName') || 'JupyterLab';
  9. var namespace = PageConfig.getOption('appNamespace') || 'jupyterlab';
  10. var devMode = PageConfig.getOption('devMode') || 'false';
  11. var settingsDir = PageConfig.getOption('settingsDir') || '';
  12. var assetsDir = PageConfig.getOption('assetsDir') || '';
  13. if (version[0] === 'v') {
  14. version = version.slice(1);
  15. }
  16. lab = new app({
  17. namespace: namespace,
  18. name: name,
  19. version: version,
  20. devMode: devMode.toLowerCase() === 'true',
  21. settingsDir: settingsDir,
  22. assetsDir: assetsDir
  23. });
  24. {{#each jupyterlab_extensions}}
  25. try {
  26. lab.registerPluginModule(require('{{this}}'));
  27. } catch (e) {
  28. console.error(e);
  29. }
  30. {{/each}}
  31. var ignorePlugins = [];
  32. try {
  33. var option = PageConfig.getOption('ignorePlugins');
  34. ignorePlugins = JSON.parse(option);
  35. } catch (e) {
  36. console.error("Invalid ignorePlugins config:", option);
  37. }
  38. lab.start({ "ignorePlugins": ignorePlugins });
  39. }
  40. window.onload = main;