##// END OF EJS Templates
Removing Kernel menu.
Brian E. Granger -
Show More
@@ -1,327 +1,320 b''
1 //----------------------------------------------------------------------------
1 //----------------------------------------------------------------------------
2 // Copyright (C) 2008-2011 The IPython Development Team
2 // Copyright (C) 2008-2011 The IPython Development Team
3 //
3 //
4 // Distributed under the terms of the BSD License. The full license is in
4 // Distributed under the terms of the BSD License. The full license is in
5 // the file COPYING, distributed as part of this software.
5 // the file COPYING, distributed as part of this software.
6 //----------------------------------------------------------------------------
6 //----------------------------------------------------------------------------
7
7
8 //============================================================================
8 //============================================================================
9 // MenuBar
9 // MenuBar
10 //============================================================================
10 //============================================================================
11
11
12 /**
12 /**
13 * @module IPython
13 * @module IPython
14 * @namespace IPython
14 * @namespace IPython
15 * @submodule MenuBar
15 * @submodule MenuBar
16 */
16 */
17
17
18
18
19 var IPython = (function (IPython) {
19 var IPython = (function (IPython) {
20 "use strict";
20 "use strict";
21
21
22 var utils = IPython.utils;
22 var utils = IPython.utils;
23
23
24 /**
24 /**
25 * A MenuBar Class to generate the menubar of IPython notebook
25 * A MenuBar Class to generate the menubar of IPython notebook
26 * @Class MenuBar
26 * @Class MenuBar
27 *
27 *
28 * @constructor
28 * @constructor
29 *
29 *
30 *
30 *
31 * @param selector {string} selector for the menubar element in DOM
31 * @param selector {string} selector for the menubar element in DOM
32 * @param {object} [options]
32 * @param {object} [options]
33 * @param [options.baseProjectUrl] {String} String to use for the
33 * @param [options.baseProjectUrl] {String} String to use for the
34 * Base Project url, default would be to inspect
34 * Base Project url, default would be to inspect
35 * $('body').data('baseProjectUrl');
35 * $('body').data('baseProjectUrl');
36 * does not support change for now is set through this option
36 * does not support change for now is set through this option
37 */
37 */
38 var MenuBar = function (selector, options) {
38 var MenuBar = function (selector, options) {
39 options = options || {};
39 options = options || {};
40 if (options.baseProjectUrl !== undefined) {
40 if (options.baseProjectUrl !== undefined) {
41 this._baseProjectUrl = options.baseProjectUrl;
41 this._baseProjectUrl = options.baseProjectUrl;
42 }
42 }
43 this.selector = selector;
43 this.selector = selector;
44 if (this.selector !== undefined) {
44 if (this.selector !== undefined) {
45 this.element = $(selector);
45 this.element = $(selector);
46 this.style();
46 this.style();
47 this.bind_events();
47 this.bind_events();
48 }
48 }
49 };
49 };
50
50
51 MenuBar.prototype.baseProjectUrl = function(){
51 MenuBar.prototype.baseProjectUrl = function(){
52 return this._baseProjectUrl || $('body').data('baseProjectUrl');
52 return this._baseProjectUrl || $('body').data('baseProjectUrl');
53 };
53 };
54
54
55 MenuBar.prototype.notebookPath = function() {
55 MenuBar.prototype.notebookPath = function() {
56 var path = $('body').data('notebookPath');
56 var path = $('body').data('notebookPath');
57 path = decodeURIComponent(path);
57 path = decodeURIComponent(path);
58 return path;
58 return path;
59 };
59 };
60
60
61 MenuBar.prototype.style = function () {
61 MenuBar.prototype.style = function () {
62 this.element.addClass('border-box-sizing');
62 this.element.addClass('border-box-sizing');
63 this.element.find("li").click(function (event, ui) {
63 this.element.find("li").click(function (event, ui) {
64 // The selected cell loses focus when the menu is entered, so we
64 // The selected cell loses focus when the menu is entered, so we
65 // re-select it upon selection.
65 // re-select it upon selection.
66 var i = IPython.notebook.get_selected_index();
66 var i = IPython.notebook.get_selected_index();
67 IPython.notebook.select(i);
67 IPython.notebook.select(i);
68 }
68 }
69 );
69 );
70 };
70 };
71
71
72 MenuBar.prototype._nbconvert = function (format, download) {
72 MenuBar.prototype._nbconvert = function (format, download) {
73 download = download || false;
73 download = download || false;
74 var notebook_name = IPython.notebook.get_notebook_name();
74 var notebook_name = IPython.notebook.get_notebook_name();
75 if (IPython.notebook.dirty) {
75 if (IPython.notebook.dirty) {
76 IPython.notebook.save_notebook({async : false});
76 IPython.notebook.save_notebook({async : false});
77 }
77 }
78 var url = utils.url_path_join(
78 var url = utils.url_path_join(
79 this.baseProjectUrl(),
79 this.baseProjectUrl(),
80 'nbconvert',
80 'nbconvert',
81 format,
81 format,
82 this.notebookPath(),
82 this.notebookPath(),
83 notebook_name + '.ipynb'
83 notebook_name + '.ipynb'
84 ) + "?download=" + download.toString();
84 ) + "?download=" + download.toString();
85
85
86 window.open(url);
86 window.open(url);
87 }
87 }
88
88
89 MenuBar.prototype.bind_events = function () {
89 MenuBar.prototype.bind_events = function () {
90 // File
90 // File
91 var that = this;
91 var that = this;
92 this.element.find('#new_notebook').click(function () {
92 this.element.find('#new_notebook').click(function () {
93 IPython.notebook.new_notebook();
93 IPython.notebook.new_notebook();
94 });
94 });
95 this.element.find('#open_notebook').click(function () {
95 this.element.find('#open_notebook').click(function () {
96 window.open(utils.url_join_encode(
96 window.open(utils.url_join_encode(
97 that.baseProjectUrl(),
97 that.baseProjectUrl(),
98 'tree',
98 'tree',
99 that.notebookPath()
99 that.notebookPath()
100 ));
100 ));
101 });
101 });
102 this.element.find('#copy_notebook').click(function () {
102 this.element.find('#copy_notebook').click(function () {
103 IPython.notebook.copy_notebook();
103 IPython.notebook.copy_notebook();
104 return false;
104 return false;
105 });
105 });
106 this.element.find('#download_ipynb').click(function () {
106 this.element.find('#download_ipynb').click(function () {
107 var notebook_name = IPython.notebook.get_notebook_name();
107 var notebook_name = IPython.notebook.get_notebook_name();
108 if (IPython.notebook.dirty) {
108 if (IPython.notebook.dirty) {
109 IPython.notebook.save_notebook({async : false});
109 IPython.notebook.save_notebook({async : false});
110 }
110 }
111
111
112 var url = utils.url_join_encode(
112 var url = utils.url_join_encode(
113 that.baseProjectUrl(),
113 that.baseProjectUrl(),
114 'files',
114 'files',
115 that.notebookPath(),
115 that.notebookPath(),
116 notebook_name + '.ipynb'
116 notebook_name + '.ipynb'
117 );
117 );
118 window.location.assign(url);
118 window.location.assign(url);
119 });
119 });
120
120
121 this.element.find('#print_preview').click(function () {
121 this.element.find('#print_preview').click(function () {
122 that._nbconvert('html', false);
122 that._nbconvert('html', false);
123 });
123 });
124
124
125 this.element.find('#download_py').click(function () {
125 this.element.find('#download_py').click(function () {
126 that._nbconvert('python', true);
126 that._nbconvert('python', true);
127 });
127 });
128
128
129 this.element.find('#download_html').click(function () {
129 this.element.find('#download_html').click(function () {
130 that._nbconvert('html', true);
130 that._nbconvert('html', true);
131 });
131 });
132
132
133 this.element.find('#download_rst').click(function () {
133 this.element.find('#download_rst').click(function () {
134 that._nbconvert('rst', true);
134 that._nbconvert('rst', true);
135 });
135 });
136
136
137 this.element.find('#rename_notebook').click(function () {
137 this.element.find('#rename_notebook').click(function () {
138 IPython.save_widget.rename_notebook();
138 IPython.save_widget.rename_notebook();
139 });
139 });
140 this.element.find('#save_checkpoint').click(function () {
140 this.element.find('#save_checkpoint').click(function () {
141 IPython.notebook.save_checkpoint();
141 IPython.notebook.save_checkpoint();
142 });
142 });
143 this.element.find('#restore_checkpoint').click(function () {
143 this.element.find('#restore_checkpoint').click(function () {
144 });
144 });
145 this.element.find('#kill_and_exit').click(function () {
145 this.element.find('#kill_and_exit').click(function () {
146 IPython.notebook.session.delete();
146 IPython.notebook.session.delete();
147 setTimeout(function(){
147 setTimeout(function(){
148 // allow closing of new tabs in Chromium, impossible in FF
148 // allow closing of new tabs in Chromium, impossible in FF
149 window.open('', '_self', '');
149 window.open('', '_self', '');
150 window.close();
150 window.close();
151 }, 500);
151 }, 500);
152 });
152 });
153 // Edit
153 // Edit
154 this.element.find('#cut_cell').click(function () {
154 this.element.find('#cut_cell').click(function () {
155 IPython.notebook.cut_cell();
155 IPython.notebook.cut_cell();
156 });
156 });
157 this.element.find('#copy_cell').click(function () {
157 this.element.find('#copy_cell').click(function () {
158 IPython.notebook.copy_cell();
158 IPython.notebook.copy_cell();
159 });
159 });
160 this.element.find('#delete_cell').click(function () {
160 this.element.find('#delete_cell').click(function () {
161 IPython.notebook.delete_cell();
161 IPython.notebook.delete_cell();
162 });
162 });
163 this.element.find('#undelete_cell').click(function () {
163 this.element.find('#undelete_cell').click(function () {
164 IPython.notebook.undelete_cell();
164 IPython.notebook.undelete_cell();
165 });
165 });
166 this.element.find('#split_cell').click(function () {
166 this.element.find('#split_cell').click(function () {
167 IPython.notebook.split_cell();
167 IPython.notebook.split_cell();
168 });
168 });
169 this.element.find('#merge_cell_above').click(function () {
169 this.element.find('#merge_cell_above').click(function () {
170 IPython.notebook.merge_cell_above();
170 IPython.notebook.merge_cell_above();
171 });
171 });
172 this.element.find('#merge_cell_below').click(function () {
172 this.element.find('#merge_cell_below').click(function () {
173 IPython.notebook.merge_cell_below();
173 IPython.notebook.merge_cell_below();
174 });
174 });
175 this.element.find('#move_cell_up').click(function () {
175 this.element.find('#move_cell_up').click(function () {
176 IPython.notebook.move_cell_up();
176 IPython.notebook.move_cell_up();
177 });
177 });
178 this.element.find('#move_cell_down').click(function () {
178 this.element.find('#move_cell_down').click(function () {
179 IPython.notebook.move_cell_down();
179 IPython.notebook.move_cell_down();
180 });
180 });
181 this.element.find('#select_previous').click(function () {
181 this.element.find('#select_previous').click(function () {
182 IPython.notebook.select_prev();
182 IPython.notebook.select_prev();
183 });
183 });
184 this.element.find('#select_next').click(function () {
184 this.element.find('#select_next').click(function () {
185 IPython.notebook.select_next();
185 IPython.notebook.select_next();
186 });
186 });
187 this.element.find('#edit_nb_metadata').click(function () {
187 this.element.find('#edit_nb_metadata').click(function () {
188 IPython.notebook.edit_metadata();
188 IPython.notebook.edit_metadata();
189 });
189 });
190
190
191 // View
191 // View
192 this.element.find('#toggle_header').click(function () {
192 this.element.find('#toggle_header').click(function () {
193 $('div#header').toggle();
193 $('div#header').toggle();
194 IPython.layout_manager.do_resize();
194 IPython.layout_manager.do_resize();
195 });
195 });
196 this.element.find('#toggle_toolbar').click(function () {
196 this.element.find('#toggle_toolbar').click(function () {
197 $('div#maintoolbar').toggle();
197 $('div#maintoolbar').toggle();
198 IPython.layout_manager.do_resize();
198 IPython.layout_manager.do_resize();
199 });
199 });
200 // Insert
200 // Insert
201 this.element.find('#insert_cell_above').click(function () {
201 this.element.find('#insert_cell_above').click(function () {
202 IPython.notebook.insert_cell_above('code');
202 IPython.notebook.insert_cell_above('code');
203 IPython.notebook.select_prev();
203 IPython.notebook.select_prev();
204 });
204 });
205 this.element.find('#insert_cell_below').click(function () {
205 this.element.find('#insert_cell_below').click(function () {
206 IPython.notebook.insert_cell_below('code');
206 IPython.notebook.insert_cell_below('code');
207 IPython.notebook.select_next();
207 IPython.notebook.select_next();
208 });
208 });
209 // Cell
209 // Cell
210 this.element.find('#run_cell').click(function () {
210 this.element.find('#run_cell').click(function () {
211 IPython.notebook.execute_cell();
211 IPython.notebook.execute_cell();
212 });
212 });
213 this.element.find('#run_cell_select_below').click(function () {
213 this.element.find('#run_cell_select_below').click(function () {
214 IPython.notebook.execute_cell_and_select_below();
214 IPython.notebook.execute_cell_and_select_below();
215 });
215 });
216 this.element.find('#run_cell_insert_below').click(function () {
216 this.element.find('#run_cell_insert_below').click(function () {
217 IPython.notebook.execute_cell_and_insert_below();
217 IPython.notebook.execute_cell_and_insert_below();
218 });
218 });
219 this.element.find('#run_all_cells').click(function () {
219 this.element.find('#run_all_cells').click(function () {
220 IPython.notebook.execute_all_cells();
220 IPython.notebook.execute_all_cells();
221 });
221 });
222 this.element.find('#run_all_cells_above').click(function () {
222 this.element.find('#run_all_cells_above').click(function () {
223 IPython.notebook.execute_cells_above();
223 IPython.notebook.execute_cells_above();
224 });
224 });
225 this.element.find('#run_all_cells_below').click(function () {
225 this.element.find('#run_all_cells_below').click(function () {
226 IPython.notebook.execute_cells_below();
226 IPython.notebook.execute_cells_below();
227 });
227 });
228 this.element.find('#to_code').click(function () {
228 this.element.find('#to_code').click(function () {
229 IPython.notebook.to_code();
229 IPython.notebook.to_code();
230 });
230 });
231 this.element.find('#to_markdown').click(function () {
231 this.element.find('#to_markdown').click(function () {
232 IPython.notebook.to_markdown();
232 IPython.notebook.to_markdown();
233 });
233 });
234 this.element.find('#to_raw').click(function () {
234 this.element.find('#to_raw').click(function () {
235 IPython.notebook.to_raw();
235 IPython.notebook.to_raw();
236 });
236 });
237 this.element.find('#to_heading1').click(function () {
237 this.element.find('#to_heading1').click(function () {
238 IPython.notebook.to_heading(undefined, 1);
238 IPython.notebook.to_heading(undefined, 1);
239 });
239 });
240 this.element.find('#to_heading2').click(function () {
240 this.element.find('#to_heading2').click(function () {
241 IPython.notebook.to_heading(undefined, 2);
241 IPython.notebook.to_heading(undefined, 2);
242 });
242 });
243 this.element.find('#to_heading3').click(function () {
243 this.element.find('#to_heading3').click(function () {
244 IPython.notebook.to_heading(undefined, 3);
244 IPython.notebook.to_heading(undefined, 3);
245 });
245 });
246 this.element.find('#to_heading4').click(function () {
246 this.element.find('#to_heading4').click(function () {
247 IPython.notebook.to_heading(undefined, 4);
247 IPython.notebook.to_heading(undefined, 4);
248 });
248 });
249 this.element.find('#to_heading5').click(function () {
249 this.element.find('#to_heading5').click(function () {
250 IPython.notebook.to_heading(undefined, 5);
250 IPython.notebook.to_heading(undefined, 5);
251 });
251 });
252 this.element.find('#to_heading6').click(function () {
252 this.element.find('#to_heading6').click(function () {
253 IPython.notebook.to_heading(undefined, 6);
253 IPython.notebook.to_heading(undefined, 6);
254 });
254 });
255 this.element.find('#toggle_output').click(function () {
255 this.element.find('#toggle_output').click(function () {
256 IPython.notebook.toggle_output();
256 IPython.notebook.toggle_output();
257 });
257 });
258 this.element.find('#collapse_all_output').click(function () {
258 this.element.find('#collapse_all_output').click(function () {
259 IPython.notebook.collapse_all_output();
259 IPython.notebook.collapse_all_output();
260 });
260 });
261 this.element.find('#scroll_all_output').click(function () {
261 this.element.find('#scroll_all_output').click(function () {
262 IPython.notebook.scroll_all_output();
262 IPython.notebook.scroll_all_output();
263 });
263 });
264 this.element.find('#expand_all_output').click(function () {
264 this.element.find('#expand_all_output').click(function () {
265 IPython.notebook.expand_all_output();
265 IPython.notebook.expand_all_output();
266 });
266 });
267 this.element.find('#clear_all_output').click(function () {
267 this.element.find('#clear_all_output').click(function () {
268 IPython.notebook.clear_all_output();
268 IPython.notebook.clear_all_output();
269 });
269 });
270 // Kernel
271 this.element.find('#int_kernel').click(function () {
272 IPython.notebook.session.interrupt_kernel();
273 });
274 this.element.find('#restart_kernel').click(function () {
275 IPython.notebook.restart_kernel();
276 });
277 // Help
270 // Help
278 this.element.find('#keyboard_shortcuts').click(function () {
271 this.element.find('#keyboard_shortcuts').click(function () {
279 IPython.quick_help.show_keyboard_shortcuts();
272 IPython.quick_help.show_keyboard_shortcuts();
280 });
273 });
281
274
282 this.update_restore_checkpoint(null);
275 this.update_restore_checkpoint(null);
283
276
284 $([IPython.events]).on('checkpoints_listed.Notebook', function (event, data) {
277 $([IPython.events]).on('checkpoints_listed.Notebook', function (event, data) {
285 that.update_restore_checkpoint(IPython.notebook.checkpoints);
278 that.update_restore_checkpoint(IPython.notebook.checkpoints);
286 });
279 });
287
280
288 $([IPython.events]).on('checkpoint_created.Notebook', function (event, data) {
281 $([IPython.events]).on('checkpoint_created.Notebook', function (event, data) {
289 that.update_restore_checkpoint(IPython.notebook.checkpoints);
282 that.update_restore_checkpoint(IPython.notebook.checkpoints);
290 });
283 });
291 };
284 };
292
285
293 MenuBar.prototype.update_restore_checkpoint = function(checkpoints) {
286 MenuBar.prototype.update_restore_checkpoint = function(checkpoints) {
294 var ul = this.element.find("#restore_checkpoint").find("ul");
287 var ul = this.element.find("#restore_checkpoint").find("ul");
295 ul.empty();
288 ul.empty();
296 if (!checkpoints || checkpoints.length === 0) {
289 if (!checkpoints || checkpoints.length === 0) {
297 ul.append(
290 ul.append(
298 $("<li/>")
291 $("<li/>")
299 .addClass("disabled")
292 .addClass("disabled")
300 .append(
293 .append(
301 $("<a/>")
294 $("<a/>")
302 .text("No checkpoints")
295 .text("No checkpoints")
303 )
296 )
304 );
297 );
305 return;
298 return;
306 }
299 }
307
300
308 checkpoints.map(function (checkpoint) {
301 checkpoints.map(function (checkpoint) {
309 var d = new Date(checkpoint.last_modified);
302 var d = new Date(checkpoint.last_modified);
310 ul.append(
303 ul.append(
311 $("<li/>").append(
304 $("<li/>").append(
312 $("<a/>")
305 $("<a/>")
313 .attr("href", "#")
306 .attr("href", "#")
314 .text(d.format("mmm dd HH:MM:ss"))
307 .text(d.format("mmm dd HH:MM:ss"))
315 .click(function () {
308 .click(function () {
316 IPython.notebook.restore_checkpoint_dialog(checkpoint);
309 IPython.notebook.restore_checkpoint_dialog(checkpoint);
317 })
310 })
318 )
311 )
319 );
312 );
320 });
313 });
321 };
314 };
322
315
323 IPython.MenuBar = MenuBar;
316 IPython.MenuBar = MenuBar;
324
317
325 return IPython;
318 return IPython;
326
319
327 }(IPython));
320 }(IPython));
@@ -1,309 +1,299 b''
1 {% extends "page.html" %}
1 {% extends "page.html" %}
2
2
3 {% block stylesheet %}
3 {% block stylesheet %}
4
4
5 {% if mathjax_url %}
5 {% if mathjax_url %}
6 <script type="text/javascript" src="{{mathjax_url}}?config=TeX-AMS_HTML-full&delayStartupUntil=configured" charset="utf-8"></script>
6 <script type="text/javascript" src="{{mathjax_url}}?config=TeX-AMS_HTML-full&delayStartupUntil=configured" charset="utf-8"></script>
7 {% endif %}
7 {% endif %}
8 <script type="text/javascript">
8 <script type="text/javascript">
9 // MathJax disabled, set as null to distingish from *missing* MathJax,
9 // MathJax disabled, set as null to distingish from *missing* MathJax,
10 // where it will be undefined, and should prompt a dialog later.
10 // where it will be undefined, and should prompt a dialog later.
11 window.mathjax_url = "{{mathjax_url}}";
11 window.mathjax_url = "{{mathjax_url}}";
12 </script>
12 </script>
13
13
14 <link rel="stylesheet" href="{{ static_url("components/codemirror/lib/codemirror.css") }}">
14 <link rel="stylesheet" href="{{ static_url("components/codemirror/lib/codemirror.css") }}">
15
15
16 {{super()}}
16 {{super()}}
17
17
18 <link rel="stylesheet" href="{{ static_url("notebook/css/override.css") }}" type="text/css" />
18 <link rel="stylesheet" href="{{ static_url("notebook/css/override.css") }}" type="text/css" />
19
19
20 {% endblock %}
20 {% endblock %}
21
21
22 {% block params %}
22 {% block params %}
23
23
24 data-project="{{project}}"
24 data-project="{{project}}"
25 data-base-project-url="{{base_project_url}}"
25 data-base-project-url="{{base_project_url}}"
26 data-base-kernel-url="{{base_kernel_url}}"
26 data-base-kernel-url="{{base_kernel_url}}"
27 data-notebook-name="{{notebook_name}}"
27 data-notebook-name="{{notebook_name}}"
28 data-notebook-path="{{notebook_path}}"
28 data-notebook-path="{{notebook_path}}"
29 class="notebook_app"
29 class="notebook_app"
30
30
31 {% endblock %}
31 {% endblock %}
32
32
33
33
34 {% block header %}
34 {% block header %}
35
35
36 <span id="save_widget" class="nav pull-left">
36 <span id="save_widget" class="nav pull-left">
37 <span id="notebook_name"></span>
37 <span id="notebook_name"></span>
38 <span id="checkpoint_status"></span>
38 <span id="checkpoint_status"></span>
39 <span id="autosave_status"></span>
39 <span id="autosave_status"></span>
40 </span>
40 </span>
41
41
42 {% endblock %}
42 {% endblock %}
43
43
44
44
45 {% block site %}
45 {% block site %}
46
46
47 <div id="menubar-container" class="container">
47 <div id="menubar-container" class="container">
48 <div id="menubar">
48 <div id="menubar">
49 <div class="navbar">
49 <div class="navbar">
50 <div class="navbar-inner">
50 <div class="navbar-inner">
51 <div class="container">
51 <div class="container">
52 <ul id="menus" class="nav">
52 <ul id="menus" class="nav">
53 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">File</a>
53 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">File</a>
54 <ul class="dropdown-menu">
54 <ul class="dropdown-menu">
55 <li id="new_notebook"
55 <li id="new_notebook"
56 title="Make a new notebook (Opens a new window)">
56 title="Make a new notebook (Opens a new window)">
57 <a href="#">New</a></li>
57 <a href="#">New</a></li>
58 <li id="open_notebook"
58 <li id="open_notebook"
59 title="Opens a new window with the Dashboard view">
59 title="Opens a new window with the Dashboard view">
60 <a href="#">Open...</a></li>
60 <a href="#">Open...</a></li>
61 <!-- <hr/> -->
61 <!-- <hr/> -->
62 <li class="divider"></li>
62 <li class="divider"></li>
63 <li id="copy_notebook"
63 <li id="copy_notebook"
64 title="Open a copy of this notebook's contents and start a new kernel">
64 title="Open a copy of this notebook's contents and start a new kernel">
65 <a href="#">Make a Copy...</a></li>
65 <a href="#">Make a Copy...</a></li>
66 <li id="rename_notebook"><a href="#">Rename...</a></li>
66 <li id="rename_notebook"><a href="#">Rename...</a></li>
67 <li id="save_checkpoint"><a href="#">Save and Checkpoint</a></li>
67 <li id="save_checkpoint"><a href="#">Save and Checkpoint</a></li>
68 <!-- <hr/> -->
68 <!-- <hr/> -->
69 <li class="divider"></li>
69 <li class="divider"></li>
70 <li id="restore_checkpoint" class="dropdown-submenu"><a href="#">Revert to Checkpoint</a>
70 <li id="restore_checkpoint" class="dropdown-submenu"><a href="#">Revert to Checkpoint</a>
71 <ul class="dropdown-menu">
71 <ul class="dropdown-menu">
72 <li><a href="#"></a></li>
72 <li><a href="#"></a></li>
73 <li><a href="#"></a></li>
73 <li><a href="#"></a></li>
74 <li><a href="#"></a></li>
74 <li><a href="#"></a></li>
75 <li><a href="#"></a></li>
75 <li><a href="#"></a></li>
76 <li><a href="#"></a></li>
76 <li><a href="#"></a></li>
77 </ul>
77 </ul>
78 </li>
78 </li>
79 <li class="divider"></li>
79 <li class="divider"></li>
80 <li id="print_preview"><a href="#">Print Preview</a></li>
80 <li id="print_preview"><a href="#">Print Preview</a></li>
81 <li class="dropdown-submenu"><a href="#">Download as</a>
81 <li class="dropdown-submenu"><a href="#">Download as</a>
82 <ul class="dropdown-menu">
82 <ul class="dropdown-menu">
83 <li id="download_ipynb"><a href="#">IPython Notebook (.ipynb)</a></li>
83 <li id="download_ipynb"><a href="#">IPython Notebook (.ipynb)</a></li>
84 <li id="download_py"><a href="#">Python (.py)</a></li>
84 <li id="download_py"><a href="#">Python (.py)</a></li>
85 <li id="download_html"><a href="#">HTML (.html)</a></li>
85 <li id="download_html"><a href="#">HTML (.html)</a></li>
86 <li id="download_rst"><a href="#">reST (.rst)</a></li>
86 <li id="download_rst"><a href="#">reST (.rst)</a></li>
87 </ul>
87 </ul>
88 </li>
88 </li>
89 <li class="divider"></li>
89 <li class="divider"></li>
90
90
91 <li id="kill_and_exit"
91 <li id="kill_and_exit"
92 title="Shutdown this notebook's kernel, and close this window">
92 title="Shutdown this notebook's kernel, and close this window">
93 <a href="#" >Close and halt</a></li>
93 <a href="#" >Close and halt</a></li>
94 </ul>
94 </ul>
95 </li>
95 </li>
96 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Edit</a>
96 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Edit</a>
97 <ul class="dropdown-menu">
97 <ul class="dropdown-menu">
98 <li id="cut_cell"><a href="#">Cut Cell</a></li>
98 <li id="cut_cell"><a href="#">Cut Cell</a></li>
99 <li id="copy_cell"><a href="#">Copy Cell</a></li>
99 <li id="copy_cell"><a href="#">Copy Cell</a></li>
100 <li id="paste_cell_above" class="disabled"><a href="#">Paste Cell Above</a></li>
100 <li id="paste_cell_above" class="disabled"><a href="#">Paste Cell Above</a></li>
101 <li id="paste_cell_below" class="disabled"><a href="#">Paste Cell Below</a></li>
101 <li id="paste_cell_below" class="disabled"><a href="#">Paste Cell Below</a></li>
102 <li id="paste_cell_replace" class="disabled"><a href="#">Paste Cell &amp; Replace</a></li>
102 <li id="paste_cell_replace" class="disabled"><a href="#">Paste Cell &amp; Replace</a></li>
103 <li id="delete_cell"><a href="#">Delete Cell</a></li>
103 <li id="delete_cell"><a href="#">Delete Cell</a></li>
104 <li id="undelete_cell" class="disabled"><a href="#">Undo Delete Cell</a></li>
104 <li id="undelete_cell" class="disabled"><a href="#">Undo Delete Cell</a></li>
105 <li class="divider"></li>
105 <li class="divider"></li>
106 <li id="split_cell"><a href="#">Split Cell</a></li>
106 <li id="split_cell"><a href="#">Split Cell</a></li>
107 <li id="merge_cell_above"><a href="#">Merge Cell Above</a></li>
107 <li id="merge_cell_above"><a href="#">Merge Cell Above</a></li>
108 <li id="merge_cell_below"><a href="#">Merge Cell Below</a></li>
108 <li id="merge_cell_below"><a href="#">Merge Cell Below</a></li>
109 <li class="divider"></li>
109 <li class="divider"></li>
110 <li id="move_cell_up"><a href="#">Move Cell Up</a></li>
110 <li id="move_cell_up"><a href="#">Move Cell Up</a></li>
111 <li id="move_cell_down"><a href="#">Move Cell Down</a></li>
111 <li id="move_cell_down"><a href="#">Move Cell Down</a></li>
112 <li class="divider"></li>
112 <li class="divider"></li>
113 <li id="select_previous"><a href="#">Select Previous Cell</a></li>
113 <li id="select_previous"><a href="#">Select Previous Cell</a></li>
114 <li id="select_next"><a href="#">Select Next Cell</a></li>
114 <li id="select_next"><a href="#">Select Next Cell</a></li>
115 <li class="divider"></li>
115 <li class="divider"></li>
116 <li id="edit_nb_metadata"><a href="#">Edit Notebook Metadata</a></li>
116 <li id="edit_nb_metadata"><a href="#">Edit Notebook Metadata</a></li>
117 </ul>
117 </ul>
118 </li>
118 </li>
119 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">View</a>
119 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">View</a>
120 <ul class="dropdown-menu">
120 <ul class="dropdown-menu">
121 <li id="toggle_header"
121 <li id="toggle_header"
122 title="Show/Hide the IPython Notebook logo and notebook title (above menu bar)">
122 title="Show/Hide the IPython Notebook logo and notebook title (above menu bar)">
123 <a href="#">Toggle Header</a></li>
123 <a href="#">Toggle Header</a></li>
124 <li id="toggle_toolbar"
124 <li id="toggle_toolbar"
125 title="Show/Hide the action icons (below menu bar)">
125 title="Show/Hide the action icons (below menu bar)">
126 <a href="#">Toggle Toolbar</a></li>
126 <a href="#">Toggle Toolbar</a></li>
127 </ul>
127 </ul>
128 </li>
128 </li>
129 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Insert</a>
129 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Insert</a>
130 <ul class="dropdown-menu">
130 <ul class="dropdown-menu">
131 <li id="insert_cell_above"
131 <li id="insert_cell_above"
132 title="Insert an empty Code cell above the currently active cell">
132 title="Insert an empty Code cell above the currently active cell">
133 <a href="#">Insert Cell Above</a></li>
133 <a href="#">Insert Cell Above</a></li>
134 <li id="insert_cell_below"
134 <li id="insert_cell_below"
135 title="Insert an empty Code cell below the currently active cell">
135 title="Insert an empty Code cell below the currently active cell">
136 <a href="#">Insert Cell Below</a></li>
136 <a href="#">Insert Cell Below</a></li>
137 </ul>
137 </ul>
138 </li>
138 </li>
139 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Cell</a>
139 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Cell</a>
140 <ul class="dropdown-menu">
140 <ul class="dropdown-menu">
141 <li id="run_cell" title="Run this cell, and move cursor to the next one">
141 <li id="run_cell" title="Run this cell, and move cursor to the next one">
142 <a href="#">Run</a></li>
142 <a href="#">Run</a></li>
143 <li id="run_cell_select_below" title="Run this cell, select below">
143 <li id="run_cell_select_below" title="Run this cell, select below">
144 <a href="#">Run and Select Below</a></li>
144 <a href="#">Run and Select Below</a></li>
145 <li id="run_cell_insert_below" title="Run this cell, insert below">
145 <li id="run_cell_insert_below" title="Run this cell, insert below">
146 <a href="#">Run and Insert Below</a></li>
146 <a href="#">Run and Insert Below</a></li>
147 <li id="run_all_cells" title="Run all cells in the notebook">
147 <li id="run_all_cells" title="Run all cells in the notebook">
148 <a href="#">Run All</a></li>
148 <a href="#">Run All</a></li>
149 <li id="run_all_cells_above" title="Run all cells above (but not including) this cell">
149 <li id="run_all_cells_above" title="Run all cells above (but not including) this cell">
150 <a href="#">Run All Above</a></li>
150 <a href="#">Run All Above</a></li>
151 <li id="run_all_cells_below" title="Run this cell and all cells below it">
151 <li id="run_all_cells_below" title="Run this cell and all cells below it">
152 <a href="#">Run All Below</a></li>
152 <a href="#">Run All Below</a></li>
153 <li class="divider"></li>
153 <li class="divider"></li>
154 <li id="change_cell_type" class="dropdown-submenu"
154 <li id="change_cell_type" class="dropdown-submenu"
155 title="All cells in the notebook have a cell type. By default, new cells are created as 'Code' cells">
155 title="All cells in the notebook have a cell type. By default, new cells are created as 'Code' cells">
156 <a href="#">Cell Type</a>
156 <a href="#">Cell Type</a>
157 <ul class="dropdown-menu">
157 <ul class="dropdown-menu">
158 <li id="to_code"
158 <li id="to_code"
159 title="Contents will be sent to the kernel for execution, and output will display in the footer of cell">
159 title="Contents will be sent to the kernel for execution, and output will display in the footer of cell">
160 <a href="#">Code</a></li>
160 <a href="#">Code</a></li>
161 <li id="to_markdown"
161 <li id="to_markdown"
162 title="Contents will be rendered as HTML and serve as explanatory text">
162 title="Contents will be rendered as HTML and serve as explanatory text">
163 <a href="#">Markdown</a></li>
163 <a href="#">Markdown</a></li>
164 <li id="to_raw"
164 <li id="to_raw"
165 title="Contents will pass through nbconvert unmodified">
165 title="Contents will pass through nbconvert unmodified">
166 <a href="#">Raw NBConvert</a></li>
166 <a href="#">Raw NBConvert</a></li>
167 <li id="to_heading1"><a href="#">Heading 1</a></li>
167 <li id="to_heading1"><a href="#">Heading 1</a></li>
168 <li id="to_heading2"><a href="#">Heading 2</a></li>
168 <li id="to_heading2"><a href="#">Heading 2</a></li>
169 <li id="to_heading3"><a href="#">Heading 3</a></li>
169 <li id="to_heading3"><a href="#">Heading 3</a></li>
170 <li id="to_heading4"><a href="#">Heading 4</a></li>
170 <li id="to_heading4"><a href="#">Heading 4</a></li>
171 <li id="to_heading5"><a href="#">Heading 5</a></li>
171 <li id="to_heading5"><a href="#">Heading 5</a></li>
172 <li id="to_heading6"><a href="#">Heading 6</a></li>
172 <li id="to_heading6"><a href="#">Heading 6</a></li>
173 </ul>
173 </ul>
174 </li>
174 </li>
175 <li class="divider"></li>
175 <li class="divider"></li>
176 <li id="toggle_output"
176 <li id="toggle_output"
177 title="Show/Hide the output portion of a Code cell">
177 title="Show/Hide the output portion of a Code cell">
178 <a href="#">Toggle Current Output</a></li>
178 <a href="#">Toggle Current Output</a></li>
179 <li id="all_outputs" class="dropdown-submenu"><a href="#">All Output</a>
179 <li id="all_outputs" class="dropdown-submenu"><a href="#">All Output</a>
180 <ul class="dropdown-menu">
180 <ul class="dropdown-menu">
181 <li id="expand_all_output"><a href="#">Expand</a></li>
181 <li id="expand_all_output"><a href="#">Expand</a></li>
182 <li id="scroll_all_output"><a href="#">Scroll Long</a></li>
182 <li id="scroll_all_output"><a href="#">Scroll Long</a></li>
183 <li id="collapse_all_output"><a href="#">Collapse</a></li>
183 <li id="collapse_all_output"><a href="#">Collapse</a></li>
184 <li id="clear_all_output"
184 <li id="clear_all_output"
185 title="Remove the output portion of all Code cells">
185 title="Remove the output portion of all Code cells">
186 <a href="#">Clear</a></li>
186 <a href="#">Clear</a></li>
187 </ul>
187 </ul>
188 </li>
188 </li>
189 </ul>
189 </ul>
190 </li>
190 </li>
191 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Kernel</a>
192 <ul class="dropdown-menu">
193 <li id="int_kernel"
194 title="Send KeyboardInterrupt (CTRL-C) to the Kernel">
195 <a href="#">Interrupt</a></li>
196 <li id="restart_kernel"
197 title="Restart the Kernel">
198 <a href="#">Restart</a></li>
199 </ul>
200 </li>
201 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Help</a>
191 <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Help</a>
202 <ul class="dropdown-menu" title="Opens in a new window">
192 <ul class="dropdown-menu" title="Opens in a new window">
203 <li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li>
193 <li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li>
204 <li><a href="http://ipython.org/ipython-doc/stable/interactive/notebook.html" target="_blank">Notebook Help</a></li>
194 <li><a href="http://ipython.org/ipython-doc/stable/interactive/notebook.html" target="_blank">Notebook Help</a></li>
205 <li id="keyboard_shortcuts" title="Opens a tooltip with all keyboard shortcuts"><a href="#">Keyboard Shortcuts</a></li>
195 <li id="keyboard_shortcuts" title="Opens a tooltip with all keyboard shortcuts"><a href="#">Keyboard Shortcuts</a></li>
206 <li><a href="http://ipython.org/ipython-doc/dev/interactive/cm_keyboard.html" target="_blank">Editor Shortcuts</a></li>
196 <li><a href="http://ipython.org/ipython-doc/dev/interactive/cm_keyboard.html" target="_blank">Editor Shortcuts</a></li>
207 <li class="divider"></li>
197 <li class="divider"></li>
208 <li><a href="http://docs.python.org" target="_blank">Python</a></li>
198 <li><a href="http://docs.python.org" target="_blank">Python</a></li>
209 <li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li>
199 <li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li>
210 <li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li>
200 <li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li>
211 <li><a href="http://matplotlib.org/" target="_blank">Matplotlib</a></li>
201 <li><a href="http://matplotlib.org/" target="_blank">Matplotlib</a></li>
212 <li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li>
202 <li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li>
213 <li><a href="http://pandas.pydata.org/pandas-docs/stable/" target="_blank">pandas</a></li>
203 <li><a href="http://pandas.pydata.org/pandas-docs/stable/" target="_blank">pandas</a></li>
214 </ul>
204 </ul>
215 </li>
205 </li>
216 </ul>
206 </ul>
217 <div id="notification_area"></div>
207 <div id="notification_area"></div>
218 </div>
208 </div>
219 </div>
209 </div>
220 </div>
210 </div>
221 </div>
211 </div>
222 <div id="maintoolbar" class="navbar">
212 <div id="maintoolbar" class="navbar">
223 <div class="toolbar-inner navbar-inner navbar-nobg">
213 <div class="toolbar-inner navbar-inner navbar-nobg">
224 <div id="maintoolbar-container" class="container"></div>
214 <div id="maintoolbar-container" class="container"></div>
225 </div>
215 </div>
226 </div>
216 </div>
227 </div>
217 </div>
228
218
229 <div id="ipython-main-app">
219 <div id="ipython-main-app">
230
220
231 <div id="notebook_panel">
221 <div id="notebook_panel">
232 <div id="notebook"></div>
222 <div id="notebook"></div>
233 <div id="pager_splitter"></div>
223 <div id="pager_splitter"></div>
234 <div id="pager">
224 <div id="pager">
235 <div id='pager_button_area'>
225 <div id='pager_button_area'>
236 </div>
226 </div>
237 <div id="pager-container" class="container"></div>
227 <div id="pager-container" class="container"></div>
238 </div>
228 </div>
239 </div>
229 </div>
240
230
241 </div>
231 </div>
242 <div id='tooltip' class='ipython_tooltip' style='display:none'></div>
232 <div id='tooltip' class='ipython_tooltip' style='display:none'></div>
243
233
244
234
245 {% endblock %}
235 {% endblock %}
246
236
247
237
248 {% block script %}
238 {% block script %}
249
239
250 {{super()}}
240 {{super()}}
251
241
252 <script src="{{ static_url("components/codemirror/lib/codemirror.js") }}" charset="utf-8"></script>
242 <script src="{{ static_url("components/codemirror/lib/codemirror.js") }}" charset="utf-8"></script>
253 <script type="text/javascript">
243 <script type="text/javascript">
254 CodeMirror.modeURL = "{{ static_url("components/codemirror/mode/%N/%N.js") }}";
244 CodeMirror.modeURL = "{{ static_url("components/codemirror/mode/%N/%N.js") }}";
255 </script>
245 </script>
256 <script src="{{ static_url("components/codemirror/addon/mode/loadmode.js") }}" charset="utf-8"></script>
246 <script src="{{ static_url("components/codemirror/addon/mode/loadmode.js") }}" charset="utf-8"></script>
257 <script src="{{ static_url("components/codemirror/addon/mode/multiplex.js") }}" charset="utf-8"></script>
247 <script src="{{ static_url("components/codemirror/addon/mode/multiplex.js") }}" charset="utf-8"></script>
258 <script src="{{ static_url("components/codemirror/addon/mode/overlay.js") }}" charset="utf-8"></script>
248 <script src="{{ static_url("components/codemirror/addon/mode/overlay.js") }}" charset="utf-8"></script>
259 <script src="{{ static_url("components/codemirror/addon/edit/matchbrackets.js") }}" charset="utf-8"></script>
249 <script src="{{ static_url("components/codemirror/addon/edit/matchbrackets.js") }}" charset="utf-8"></script>
260 <script src="{{ static_url("components/codemirror/addon/comment/comment.js") }}" charset="utf-8"></script>
250 <script src="{{ static_url("components/codemirror/addon/comment/comment.js") }}" charset="utf-8"></script>
261 <script src="{{ static_url("components/codemirror/mode/htmlmixed/htmlmixed.js") }}" charset="utf-8"></script>
251 <script src="{{ static_url("components/codemirror/mode/htmlmixed/htmlmixed.js") }}" charset="utf-8"></script>
262 <script src="{{ static_url("components/codemirror/mode/xml/xml.js") }}" charset="utf-8"></script>
252 <script src="{{ static_url("components/codemirror/mode/xml/xml.js") }}" charset="utf-8"></script>
263 <script src="{{ static_url("components/codemirror/mode/javascript/javascript.js") }}" charset="utf-8"></script>
253 <script src="{{ static_url("components/codemirror/mode/javascript/javascript.js") }}" charset="utf-8"></script>
264 <script src="{{ static_url("components/codemirror/mode/css/css.js") }}" charset="utf-8"></script>
254 <script src="{{ static_url("components/codemirror/mode/css/css.js") }}" charset="utf-8"></script>
265 <script src="{{ static_url("components/codemirror/mode/rst/rst.js") }}" charset="utf-8"></script>
255 <script src="{{ static_url("components/codemirror/mode/rst/rst.js") }}" charset="utf-8"></script>
266 <script src="{{ static_url("components/codemirror/mode/markdown/markdown.js") }}" charset="utf-8"></script>
256 <script src="{{ static_url("components/codemirror/mode/markdown/markdown.js") }}" charset="utf-8"></script>
267 <script src="{{ static_url("components/codemirror/mode/gfm/gfm.js") }}" charset="utf-8"></script>
257 <script src="{{ static_url("components/codemirror/mode/gfm/gfm.js") }}" charset="utf-8"></script>
268 <script src="{{ static_url("components/codemirror/mode/python/python.js") }}" charset="utf-8"></script>
258 <script src="{{ static_url("components/codemirror/mode/python/python.js") }}" charset="utf-8"></script>
269 <script src="{{ static_url("notebook/js/codemirror-ipython.js") }}" charset="utf-8"></script>
259 <script src="{{ static_url("notebook/js/codemirror-ipython.js") }}" charset="utf-8"></script>
270
260
271 <script src="{{ static_url("components/highlight.js/build/highlight.pack.js") }}" charset="utf-8"></script>
261 <script src="{{ static_url("components/highlight.js/build/highlight.pack.js") }}" charset="utf-8"></script>
272
262
273 <script src="{{ static_url("dateformat/date.format.js") }}" charset="utf-8"></script>
263 <script src="{{ static_url("dateformat/date.format.js") }}" charset="utf-8"></script>
274
264
275 <script src="{{ static_url("base/js/events.js") }}" type="text/javascript" charset="utf-8"></script>
265 <script src="{{ static_url("base/js/events.js") }}" type="text/javascript" charset="utf-8"></script>
276 <script src="{{ static_url("base/js/utils.js") }}" type="text/javascript" charset="utf-8"></script>
266 <script src="{{ static_url("base/js/utils.js") }}" type="text/javascript" charset="utf-8"></script>
277 <script src="{{ static_url("base/js/dialog.js") }}" type="text/javascript" charset="utf-8"></script>
267 <script src="{{ static_url("base/js/dialog.js") }}" type="text/javascript" charset="utf-8"></script>
278 <script src="{{ static_url("services/kernels/js/kernel.js") }}" type="text/javascript" charset="utf-8"></script>
268 <script src="{{ static_url("services/kernels/js/kernel.js") }}" type="text/javascript" charset="utf-8"></script>
279 <script src="{{ static_url("services/kernels/js/comm.js") }}" type="text/javascript" charset="utf-8"></script>
269 <script src="{{ static_url("services/kernels/js/comm.js") }}" type="text/javascript" charset="utf-8"></script>
280 <script src="{{ static_url("services/sessions/js/session.js") }}" type="text/javascript" charset="utf-8"></script>
270 <script src="{{ static_url("services/sessions/js/session.js") }}" type="text/javascript" charset="utf-8"></script>
281 <script src="{{ static_url("notebook/js/layoutmanager.js") }}" type="text/javascript" charset="utf-8"></script>
271 <script src="{{ static_url("notebook/js/layoutmanager.js") }}" type="text/javascript" charset="utf-8"></script>
282 <script src="{{ static_url("notebook/js/mathjaxutils.js") }}" type="text/javascript" charset="utf-8"></script>
272 <script src="{{ static_url("notebook/js/mathjaxutils.js") }}" type="text/javascript" charset="utf-8"></script>
283 <script src="{{ static_url("notebook/js/outputarea.js") }}" type="text/javascript" charset="utf-8"></script>
273 <script src="{{ static_url("notebook/js/outputarea.js") }}" type="text/javascript" charset="utf-8"></script>
284 <script src="{{ static_url("notebook/js/cell.js") }}" type="text/javascript" charset="utf-8"></script>
274 <script src="{{ static_url("notebook/js/cell.js") }}" type="text/javascript" charset="utf-8"></script>
285 <script src="{{ static_url("notebook/js/celltoolbar.js") }}" type="text/javascript" charset="utf-8"></script>
275 <script src="{{ static_url("notebook/js/celltoolbar.js") }}" type="text/javascript" charset="utf-8"></script>
286 <script src="{{ static_url("notebook/js/codecell.js") }}" type="text/javascript" charset="utf-8"></script>
276 <script src="{{ static_url("notebook/js/codecell.js") }}" type="text/javascript" charset="utf-8"></script>
287 <script src="{{ static_url("notebook/js/completer.js") }}" type="text/javascript" charset="utf-8"></script>
277 <script src="{{ static_url("notebook/js/completer.js") }}" type="text/javascript" charset="utf-8"></script>
288 <script src="{{ static_url("notebook/js/textcell.js") }}" type="text/javascript" charset="utf-8"></script>
278 <script src="{{ static_url("notebook/js/textcell.js") }}" type="text/javascript" charset="utf-8"></script>
289 <script src="{{ static_url("notebook/js/savewidget.js") }}" type="text/javascript" charset="utf-8"></script>
279 <script src="{{ static_url("notebook/js/savewidget.js") }}" type="text/javascript" charset="utf-8"></script>
290 <script src="{{ static_url("notebook/js/quickhelp.js") }}" type="text/javascript" charset="utf-8"></script>
280 <script src="{{ static_url("notebook/js/quickhelp.js") }}" type="text/javascript" charset="utf-8"></script>
291 <script src="{{ static_url("notebook/js/pager.js") }}" type="text/javascript" charset="utf-8"></script>
281 <script src="{{ static_url("notebook/js/pager.js") }}" type="text/javascript" charset="utf-8"></script>
292 <script src="{{ static_url("notebook/js/menubar.js") }}" type="text/javascript" charset="utf-8"></script>
282 <script src="{{ static_url("notebook/js/menubar.js") }}" type="text/javascript" charset="utf-8"></script>
293 <script src="{{ static_url("notebook/js/toolbar.js") }}" type="text/javascript" charset="utf-8"></script>
283 <script src="{{ static_url("notebook/js/toolbar.js") }}" type="text/javascript" charset="utf-8"></script>
294 <script src="{{ static_url("notebook/js/maintoolbar.js") }}" type="text/javascript" charset="utf-8"></script>
284 <script src="{{ static_url("notebook/js/maintoolbar.js") }}" type="text/javascript" charset="utf-8"></script>
295 <script src="{{ static_url("notebook/js/notebook.js") }}" type="text/javascript" charset="utf-8"></script>
285 <script src="{{ static_url("notebook/js/notebook.js") }}" type="text/javascript" charset="utf-8"></script>
296 <script src="{{ static_url("notebook/js/keyboardmanager.js") }}" type="text/javascript" charset="utf-8"></script>
286 <script src="{{ static_url("notebook/js/keyboardmanager.js") }}" type="text/javascript" charset="utf-8"></script>
297 <script src="{{ static_url("notebook/js/notificationwidget.js") }}" type="text/javascript" charset="utf-8"></script>
287 <script src="{{ static_url("notebook/js/notificationwidget.js") }}" type="text/javascript" charset="utf-8"></script>
298 <script src="{{ static_url("notebook/js/notificationarea.js") }}" type="text/javascript" charset="utf-8"></script>
288 <script src="{{ static_url("notebook/js/notificationarea.js") }}" type="text/javascript" charset="utf-8"></script>
299 <script src="{{ static_url("notebook/js/tooltip.js") }}" type="text/javascript" charset="utf-8"></script>
289 <script src="{{ static_url("notebook/js/tooltip.js") }}" type="text/javascript" charset="utf-8"></script>
300 <script src="{{ static_url("notebook/js/config.js") }}" type="text/javascript" charset="utf-8"></script>
290 <script src="{{ static_url("notebook/js/config.js") }}" type="text/javascript" charset="utf-8"></script>
301 <script src="{{ static_url("notebook/js/main.js") }}" type="text/javascript" charset="utf-8"></script>
291 <script src="{{ static_url("notebook/js/main.js") }}" type="text/javascript" charset="utf-8"></script>
302
292
303 <script src="{{ static_url("notebook/js/contexthint.js") }}" charset="utf-8"></script>
293 <script src="{{ static_url("notebook/js/contexthint.js") }}" charset="utf-8"></script>
304
294
305 <script src="{{ static_url("notebook/js/celltoolbarpresets/default.js") }}" type="text/javascript" charset="utf-8"></script>
295 <script src="{{ static_url("notebook/js/celltoolbarpresets/default.js") }}" type="text/javascript" charset="utf-8"></script>
306 <script src="{{ static_url("notebook/js/celltoolbarpresets/rawcell.js") }}" type="text/javascript" charset="utf-8"></script>
296 <script src="{{ static_url("notebook/js/celltoolbarpresets/rawcell.js") }}" type="text/javascript" charset="utf-8"></script>
307 <script src="{{ static_url("notebook/js/celltoolbarpresets/slideshow.js") }}" type="text/javascript" charset="utf-8"></script>
297 <script src="{{ static_url("notebook/js/celltoolbarpresets/slideshow.js") }}" type="text/javascript" charset="utf-8"></script>
308
298
309 {% endblock %}
299 {% endblock %}
General Comments 0
You need to be logged in to leave comments. Login now