##// END OF EJS Templates
Added require.js shims for underscore and backbone...
Added require.js shims for underscore and backbone This is necessary since underscore and backbone are no longer AMD modules.

File last commit:

r14342:90efa5b8
r14483:6e353ea6
Show More
main.js
128 lines | 5.0 KiB | application/javascript | JavascriptLexer
Brian E. Granger
More review changes....
r4609 //----------------------------------------------------------------------------
Matthias BUSSONNIER
autochange highlight with cell magics...
r8202 // Copyright (C) 2011 The IPython Development Team
Brian E. Granger
More review changes....
r4609 //
// Distributed under the terms of the BSD License. The full license is in
// the file COPYING, distributed as part of this software.
//----------------------------------------------------------------------------
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
//============================================================================
// On document ready
//============================================================================
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 "use strict";
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 // for the time beeing, we have to pass marked as a parameter here,
// as injecting require.js make marked not to put itself in the globals,
// which make both this file fail at setting marked configuration, and textcell.js
// which search marked into global.
Jonathan Frederic
Remove init_widget_js, use require.js for everything...
r14342 require(['components/marked/lib/marked',
'notebook/js/widgets/basic_widgets'],
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
Matthias BUSSONNIER
de-require-config
r10856 function (marked) {
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758
window.marked = marked
Matthias BUSSONNIER
de-require-config
r10856
Matthias BUSSONNIER
autochange highlight with cell magics...
r8202 // 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');
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 CodeMirror.modes.null = function() {
return {token: function(stream) {stream.skipToEnd();},indent : function(){return 0}}
Matthias BUSSONNIER
autochange highlight with cell magics...
r8202 }
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 }
Matthias BUSSONNIER
autochange highlight with cell magics...
r8202
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
Aron Ahmadia
partial refactor, can't quite get environments working
r8565 IPython.mathjaxutils.init();
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
Bussonnier Matthias
clean css....
r9277 $('#ipython-main-app').addClass('border-box-sizing');
$('div#notebook_panel').addClass('border-box-sizing');
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
Zachary Sailer
manual rebase static/notebook/js files
r12986 var baseProjectUrl = $('body').data('baseProjectUrl');
var notebookPath = $('body').data('notebookPath');
var notebookName = $('body').data('notebookName');
notebookName = decodeURIComponent(notebookName);
Zachary Sailer
path with spaces completely fixed
r13013 notebookPath = decodeURIComponent(notebookPath);
Zachary Sailer
manual rebase static/notebook/js files
r12986 console.log(notebookName);
if (notebookPath == 'None'){
notebookPath = "";
}
Matthias BUSSONNIER
pass baseUrl as option
r9505
Brian Granger
Major refactoring of notebook....
r6193 IPython.page = new IPython.Page();
Brian E. Granger
Left panel is now working.
r4363 IPython.layout_manager = new IPython.LayoutManager();
Brian E. Granger
Refactoring pager into its own class.
r4357 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
Brian E. Granger
Splitting notebook.less into separate files.
r10730 IPython.quick_help = new IPython.QuickHelp();
Matthias BUSSONNIER
pass baseUrl as option
r9505 IPython.login_widget = new IPython.LoginWidget('span#login_widget',{baseProjectUrl:baseProjectUrl});
Zachary Sailer
manual rebase static/notebook/js files
r12986 IPython.notebook = new IPython.Notebook('div#notebook',{baseProjectUrl:baseProjectUrl, notebookPath:notebookPath, notebookName:notebookName});
Brian E. Granger
Adding keyboard manager logic....
r14020 IPython.keyboard_manager = new IPython.KeyboardManager();
Brian Granger
Major refactoring of saving, notification....
r6047 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
Zachary Sailer
manual rebase static/notebook/js files
r12986 IPython.menubar = new IPython.MenuBar('#menubar',{baseProjectUrl:baseProjectUrl, notebookPath: notebookPath})
MinRK
tweak header styling...
r10906 IPython.toolbar = new IPython.MainToolBar('#maintoolbar-container')
Matthias Bussonnier
tooltip to mac
r7144 IPython.tooltip = new IPython.Tooltip()
Matthias BUSSONNIER
call init method
r8048 IPython.notification_area = new IPython.NotificationArea('#notification_area')
Matthias BUSSONNIER
tweek notebook notification behavior
r8074 IPython.notification_area.init_notification_widgets();
Brian E. Granger
Refactoring pager into its own class.
r4357
Brian E. Granger
Updating font-sizing to use the YUI protocol.
r4379 IPython.layout_manager.do_resize();
Brian E. Granger
Hacks to prevent FLOUC (flash of unformatted content).
r4395
mcelrath
Add bad font detection, and a dialog informing the user.
r7394 $('body').append('<div id="fonttest"><pre><span id="test1">x</span>'+
'<span id="test2" style="font-weight: bold;">x</span>'+
'<span id="test3" style="font-style: italic;">x</span></pre></div>')
var nh = $('#test1').innerHeight();
var bh = $('#test2').innerHeight();
var ih = $('#test3').innerHeight();
if(nh != bh || nh != ih) {
mcelrath
Alternative solution: silently apply some CSS instead of a dialog box.
r7446 $('head').append('<style>.CodeMirror span { vertical-align: bottom; }</style>');
mcelrath
Add bad font detection, and a dialog informing the user.
r7394 }
mcelrath
Fix spurious appearance of #fontarea at end of document.
r7666 $('#fonttest').remove();
mcelrath
Add bad font detection, and a dialog informing the user.
r7394
Brian Granger
Major refactoring of notebook....
r6193 IPython.page.show();
Brian E. Granger
Massive work on the notebook document format....
r4484
Brian Granger
Optimizing notebook loading.
r5949 IPython.layout_manager.do_resize();
MinRK
add autosave timer...
r10505 var first_load = function () {
Brian Granger
Major refactoring of saving, notification....
r6047 IPython.layout_manager.do_resize();
MinRK
trigger hash on notebook load...
r10006 var hash = document.location.hash;
if (hash) {
document.location.hash = '';
document.location.hash = hash;
}
MinRK
s/autosave_notebook/set_autosave_interval/
r10508 IPython.notebook.set_autosave_interval(IPython.notebook.minimum_autosave_interval);
MinRK
add autosave timer...
r10505 // only do this once
$([IPython.events]).off('notebook_loaded.Notebook', first_load);
};
MinRK
add javascript-side widgets
r13189
MinRK
add autosave timer...
r10505 $([IPython.events]).on('notebook_loaded.Notebook', first_load);
Matthias BUSSONNIER
Trigger a single event on js app initilized...
r11227 $([IPython.events]).trigger('app_initialized.NotebookApp');
Zachary Sailer
manual rebase static/notebook/js files
r12986 IPython.notebook.load_notebook(notebookName, notebookPath);
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758
MinRK
use highlight.js to highlight markdown code blocks
r10539 if (marked) {
marked.setOptions({
gfm : true,
tables: true,
langPrefix: "language-",
highlight: function(code, lang) {
MinRK
no highlight if no language specified
r12594 if (!lang) {
// no language, no highlight
return code;
}
MinRK
use highlight.js to highlight markdown code blocks
r10539 var highlighted;
MinRK
protect highlight.js against unknown languages...
r10549 try {
MinRK
use highlight.js to highlight markdown code blocks
r10539 highlighted = hljs.highlight(lang, code, false);
MinRK
protect highlight.js against unknown languages...
r10549 } catch(err) {
MinRK
use highlight.js to highlight markdown code blocks
r10539 highlighted = hljs.highlightAuto(code);
}
return highlighted.value;
}
})
}
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 }
Brian E. Granger
Implemented basic notebook browser and fixed numerous bugs.
r4488
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758 );