diff --git a/IPython/html/static/auth/js/logoutmain.js b/IPython/html/static/auth/js/logoutmain.js index 7ee2db3e0..ad58cfd3b 100644 --- a/IPython/html/static/auth/js/logoutmain.js +++ b/IPython/html/static/auth/js/logoutmain.js @@ -1,7 +1,7 @@ // Copyright (c) IPython Development Team. // Distributed under the terms of the Modified BSD License. -var ipython = ipython || {}; +var ipython = ipython || {}; require(['base/js/page'], function(Page) { ipython.page = new Page(); $('#ipython-main-app').addClass('border-box-sizing'); diff --git a/IPython/html/static/notebook/js/cell.js b/IPython/html/static/notebook/js/cell.js index 202d72b74..d93c2ecd1 100644 --- a/IPython/html/static/notebook/js/cell.js +++ b/IPython/html/static/notebook/js/cell.js @@ -17,6 +17,35 @@ "notebook/js/codemirror-ipython.js", "notebook/js/codemirror-ipythongfm.js", + +// monkey patch CM to be able to syntax highlight cell magics +// bug reported upstream, +// see https://github.com/marijnh/CodeMirror2/issues/670 +if(CodeMirror.getMode(1,'text/plain').indent === undefined ){ + console.log('patching CM for undefined indent'); + CodeMirror.modes.null = function() { + return {token: function(stream) {stream.skipToEnd();},indent : function(){return 0;}}; + }; +} + +CodeMirror.patchedGetMode = function(config, mode){ + var cmmode = CodeMirror.getMode(config, mode); + if(cmmode.indent === null) { + console.log('patch mode "' , mode, '" on the fly'); + cmmode.indent = function(){return 0;}; + } + return cmmode; + }; +// end monkey patching CodeMirror + + +"notebook/js/tooltip", + Tooltip, + tooltip = new Tooltip(); + IPython.tooltip = tooltip; + + + //---------------------------------------------------------------------------- // Copyright (C) 2008-2011 The IPython Development Team // diff --git a/IPython/html/static/notebook/js/menubar.js b/IPython/html/static/notebook/js/menubar.js index 04c88e2e7..4210ffbf3 100644 --- a/IPython/html/static/notebook/js/menubar.js +++ b/IPython/html/static/notebook/js/menubar.js @@ -11,6 +11,19 @@ * @submodule MenuBar */ +'components/bootstrap-tour/build/js/bootstrap-tour.min' +"notebook/js/tour", + Tour, + + try { + tour = new Tour(); + } catch (e) { + tour = undefined; + console.log("Failed to instantiate Notebook Tour", e); + } + + IPython.tour = tour; + var IPython = (function (IPython) { "use strict"; diff --git a/IPython/html/static/notebook/js/notebook.js b/IPython/html/static/notebook/js/notebook.js index 2433252ca..46d827c52 100644 --- a/IPython/html/static/notebook/js/notebook.js +++ b/IPython/html/static/notebook/js/notebook.js @@ -1,112 +1,24 @@ // Copyright (c) IPython Development Team. // Distributed under the terms of the Modified BSD License. - -"components/google-caja/html-css-sanitizer-minified", - -"components/highlight.js/build/highlight.pack", -"dateformat/date.format", -"base/js/security", -"services/kernels/js/kernel", -"services/kernels/js/comm", -"notebook/js/mathjaxutils", -"notebook/js/outputarea", -"notebook/js/cell", -"notebook/js/codecell", -"notebook/js/completer", -"notebook/js/notificationwidget", -"notebook/js/notificationarea", -"notebook/js/tooltip", -"notebook/js/config", -"notebook/js/main", -"notebook/js/contexthint", -"notebook/js/celltoolbarpresets/default", -"notebook/js/celltoolbarpresets/rawcell", -"notebook/js/celltoolbarpresets/slideshow" - -IPython.mathjaxutils.init(); - -'components/marked/lib/marked', -'widgets/js/init', -'components/bootstrap-tour/build/js/bootstrap-tour.min' - -window.marked = marked; - -if (marked) { - marked.setOptions({ - gfm : true, - tables: true, - langPrefix: "language-", - highlight: function(code, lang) { - if (!lang) { - // no language, no highlight - return code; - } - var highlighted; - try { - highlighted = hljs.highlight(lang, code, false); - } catch(err) { - highlighted = hljs.highlightAuto(code); - } - return highlighted.value; - } - }); -} - -// monkey patch CM to be able to syntax highlight cell magics -// bug reported upstream, -// see https://github.com/marijnh/CodeMirror2/issues/670 -if(CodeMirror.getMode(1,'text/plain').indent === undefined ){ - console.log('patching CM for undefined indent'); - CodeMirror.modes.null = function() { - return {token: function(stream) {stream.skipToEnd();},indent : function(){return 0;}}; - }; -} - -CodeMirror.patchedGetMode = function(config, mode){ - var cmmode = CodeMirror.getMode(config, mode); - if(cmmode.indent === null) { - console.log('patch mode "' , mode, '" on the fly'); - cmmode.indent = function(){return 0;}; - } - return cmmode; - }; -// end monkey patching CodeMirror - - -"notebook/js/tour", - Tour, - - try { - tour = new Tour(); - } catch (e) { - tour = undefined; - console.log("Failed to instantiate Notebook Tour", e); - } - - IPython.tour = tour; - -"notebook/js/tooltip", - Tooltip, - tooltip = new Tooltip(); - IPython.tooltip = tooltip; - - define([ - "base/js/namespace", - "components/jquery/jquery.min", - "base/js/utils", - "notebook/js/keyboardmanager", - "notebook/js/savewidget", - "base/js/events", - "base/js/dialog", - "notebook/js/textcell", - "notebook/js/codecell", - "services/sessions/js/session", - "notebook/js/celltoolbar", - "base/js/keyboard", - "components/jquery-ui/ui/minified/jquery-ui.min", - "components/bootstrap/js/bootstrap.min", + 'base/js/namespace', + 'components/jquery/jquery.min', + 'base/js/utils', + 'notebook/js/keyboardmanager', + 'notebook/js/savewidget', + 'base/js/events', + 'base/js/dialog', + 'notebook/js/textcell', + 'notebook/js/codecell', + 'services/sessions/js/session', + 'notebook/js/celltoolbar', + 'base/js/keyboard', + 'components/jquery-ui/ui/minified/jquery-ui.min', + 'components/bootstrap/js/bootstrap.min', + 'components/marked/lib/marked', + 'widgets/js/init', + 'notebook/js/mathjaxutils', ], function ( IPython, $, @@ -119,18 +31,11 @@ define([ CodeCell, Session, CellToolbar, - Keyboard + Keyboard, + marked, + MathJax ) { - keyboard_manager = new KeyboardManager(); - save_widget = new SaveWidget('span#save_widget'); - keyboard = new Keyboard(); - - // Backwards compatability. - IPython.keyboard_manager = keyboard_manager; - IPython.save_widget = save_widget; - IPython.keyboard = keyboard; - /** * A notebook contains and manages cells. * @@ -140,6 +45,41 @@ define([ * @param {Object} [options] A config object */ var Notebook = function (selector, options) { + this.keyboard_manager = new KeyboardManager(); + this.keyboard = new Keyboard(); + this.save_widget = new SaveWidget('span#save_widget'); + + this.mathjaxutils = MathJax(); + this.mathjaxutils.init(); + + + window.marked = window.marked || marked; + if (marked) { + marked.setOptions({ + gfm : true, + tables: true, + langPrefix: "language-", + highlight: function(code, lang) { + if (!lang) { + // no language, no highlight + return code; + } + var highlighted; + try { + highlighted = hljs.highlight(lang, code, false); + } catch(err) { + highlighted = hljs.highlightAuto(code); + } + return highlighted.value; + } + }); + } + + // Backwards compatability. + IPython.keyboard_manager = this.keyboard_manager; + IPython.save_widget = this.save_widget; + IPython.keyboard = this.keyboard; + this.options = options = options || {}; this.base_url = options.base_url; this.notebook_path = options.notebook_path; @@ -658,7 +598,7 @@ define([ cell.command_mode(); this.mode = 'command'; $([Events]).trigger('command_mode.Notebook'); - keyboard_manager.command_mode(); + this.keyboard_manager.command_mode(); } }; @@ -688,7 +628,7 @@ define([ cell.edit_mode(); this.mode = 'edit'; $([Events]).trigger('edit_mode.Notebook'); - keyboard_manager.edit_mode(); + this.keyboard_manager.edit_mode(); } }; @@ -2121,14 +2061,14 @@ define([ "OK": { class: "btn-primary", click: function () { - save_widget.rename_notebook(); + this.save_widget.rename_notebook(); }} }, open : function (event, ui) { var that = $(this); // Upon ENTER, click the OK button. that.find('input[type="text"]').keydown(function (event, ui) { - if (event.which === keyboard.keycodes.enter) { + if (event.which === this.keyboard.keycodes.enter) { that.find('.btn-primary').first().click(); } }); diff --git a/IPython/html/static/notebook/js/outputarea.js b/IPython/html/static/notebook/js/outputarea.js index 6aef5f988..1443a8b4c 100644 --- a/IPython/html/static/notebook/js/outputarea.js +++ b/IPython/html/static/notebook/js/outputarea.js @@ -5,6 +5,9 @@ // OutputArea //============================================================================ + +"components/google-caja/html-css-sanitizer-minified", + /** * @module IPython * @namespace IPython