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