##// END OF EJS Templates
Merge branch 'htmlnotebook_publish' of https://github.com/stefanv/ipython into stefanv-htmlnotebook_publish
Brian E. Granger -
r4619:d5b4ff0a merge
parent child Browse files
Show More
@@ -0,0 +1,54 b''
1 var IPython = (function (IPython) {
2
3 var PrintWidget = function (selector) {
4 this.selector = selector;
5 if (this.selector !== undefined) {
6 this.element = $(selector);
7 this.style();
8 this.bind_events();
9 }
10 };
11
12 PrintWidget.prototype.style = function () {
13 this.element.find('button#print_notebook').button();
14 };
15
16 PrintWidget.prototype.bind_events = function () {
17 var that = this;
18 this.element.find('button#print_notebook').click(function () {
19 that.print_notebook();
20 });
21 };
22
23 PrintWidget.prototype.enable = function () {
24 this.element.find('button#print_notebook').button('enable');
25 };
26
27 PrintWidget.prototype.disable = function () {
28 this.element.find('button#print_notebook').button('disable');
29 };
30
31 PrintWidget.prototype.print_notebook = function () {
32 var w = window.open('', '_blank', 'scrollbars=1,menubar=1');
33 var html = '<html><head>' +
34 $('head').clone().html() +
35 '<style type="text/css">' +
36 '@media print { body { overflow: visible !important; } }' +
37 '.ui-widget-content { border: 0px; }' +
38 '</style>' +
39 '</head><body style="overflow: auto;">' +
40 $('#notebook').clone().html() +
41 '</body></html>';
42
43 w.document.open();
44 w.document.write(html);
45 w.document.close();
46
47 return false;
48 };
49
50 IPython.PrintWidget = PrintWidget;
51
52 return IPython;
53
54 }(IPython)); No newline at end of file
@@ -1,57 +1,58 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 // On document ready
9 // On document ready
10 //============================================================================
10 //============================================================================
11
11
12
12
13 $(document).ready(function () {
13 $(document).ready(function () {
14
14
15 MathJax.Hub.Config({
15 MathJax.Hub.Config({
16 tex2jax: {
16 tex2jax: {
17 inlineMath: [ ['$','$'], ["\\(","\\)"] ],
17 inlineMath: [ ['$','$'], ["\\(","\\)"] ],
18 displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
18 displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
19 },
19 },
20 displayAlign: 'left', // Change this to 'center' to center equations.
20 displayAlign: 'left', // Change this to 'center' to center equations.
21 "HTML-CSS": {
21 "HTML-CSS": {
22 styles: {'.MathJax_Display': {"margin": 0}}
22 styles: {'.MathJax_Display': {"margin": 0}}
23 }
23 }
24 });
24 });
25 IPython.markdown_converter = new Markdown.Converter();
25 IPython.markdown_converter = new Markdown.Converter();
26
26
27 $('div#header').addClass('border-box-sizing');
27 $('div#header').addClass('border-box-sizing');
28 $('div#main_app').addClass('border-box-sizing ui-widget ui-widget-content');
28 $('div#main_app').addClass('border-box-sizing ui-widget ui-widget-content');
29 $('div#notebook_panel').addClass('border-box-sizing ui-widget');
29 $('div#notebook_panel').addClass('border-box-sizing ui-widget');
30
30
31 IPython.layout_manager = new IPython.LayoutManager();
31 IPython.layout_manager = new IPython.LayoutManager();
32 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
32 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
33 IPython.left_panel = new IPython.LeftPanel('div#left_panel', 'div#left_panel_splitter');
33 IPython.left_panel = new IPython.LeftPanel('div#left_panel', 'div#left_panel_splitter');
34 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
34 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
35 IPython.print_widget = new IPython.PrintWidget('span#print_widget');
35 IPython.notebook = new IPython.Notebook('div#notebook');
36 IPython.notebook = new IPython.Notebook('div#notebook');
36 IPython.kernel_status_widget = new IPython.KernelStatusWidget('#kernel_status');
37 IPython.kernel_status_widget = new IPython.KernelStatusWidget('#kernel_status');
37 IPython.kernel_status_widget.status_idle();
38 IPython.kernel_status_widget.status_idle();
38
39
39 IPython.layout_manager.do_resize();
40 IPython.layout_manager.do_resize();
40
41
41 // These have display: none in the css file and are made visible here to prevent FLOUC.
42 // These have display: none in the css file and are made visible here to prevent FLOUC.
42 $('div#header').css('display','block');
43 $('div#header').css('display','block');
43 $('div#main_app').css('display','block');
44 $('div#main_app').css('display','block');
44
45
45 // Perform these actions after the notebook has been loaded.
46 // Perform these actions after the notebook has been loaded.
46 // We wait 100 milliseconds because the notebook scrolls to the top after a load
47 // We wait 100 milliseconds because the notebook scrolls to the top after a load
47 // is completed and we need to wait for that to mostly finish.
48 // is completed and we need to wait for that to mostly finish.
48 IPython.notebook.load_notebook(function () {
49 IPython.notebook.load_notebook(function () {
49 setTimeout(function () {
50 setTimeout(function () {
50 IPython.save_widget.update_url();
51 IPython.save_widget.update_url();
51 IPython.layout_manager.do_resize();
52 IPython.layout_manager.do_resize();
52 IPython.pager.collapse();
53 IPython.pager.collapse();
53 },100);
54 },100);
54 });
55 });
55
56
56 });
57 });
57
58
@@ -1,115 +1,118 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 // SaveWidget
9 // SaveWidget
10 //============================================================================
10 //============================================================================
11
11
12 var IPython = (function (IPython) {
12 var IPython = (function (IPython) {
13
13
14 var utils = IPython.utils;
14 var utils = IPython.utils;
15
15
16 var SaveWidget = function (selector) {
16 var SaveWidget = function (selector) {
17 this.selector = selector;
17 this.selector = selector;
18 this.notebook_name_re = /[^/\\]+/
18 this.notebook_name_re = /[^/\\]+/
19 if (this.selector !== undefined) {
19 if (this.selector !== undefined) {
20 this.element = $(selector);
20 this.element = $(selector);
21 this.style();
21 this.style();
22 this.bind_events();
22 this.bind_events();
23 }
23 }
24 };
24 };
25
25
26
26
27 SaveWidget.prototype.style = function () {
27 SaveWidget.prototype.style = function () {
28 this.element.find('input#notebook_name').addClass('ui-widget ui-widget-content');
28 this.element.find('input#notebook_name').addClass('ui-widget ui-widget-content');
29 this.element.find('button#save_notebook').button();
29 this.element.find('button#save_notebook').button();
30 var left_panel_width = $('div#left_panel').outerWidth();
30 var left_panel_width = $('div#left_panel').outerWidth();
31 var left_panel_splitter_width = $('div#left_panel_splitter').outerWidth();
31 var left_panel_splitter_width = $('div#left_panel_splitter').outerWidth();
32 $('span#save_widget').css({marginLeft:left_panel_width+left_panel_splitter_width});
32 $('span#save_widget').css({marginLeft:left_panel_width+left_panel_splitter_width});
33 };
33 };
34
34
35
35
36 SaveWidget.prototype.bind_events = function () {
36 SaveWidget.prototype.bind_events = function () {
37 var that = this;
37 var that = this;
38 this.element.find('button#save_notebook').click(function () {
38 this.element.find('button#save_notebook').click(function () {
39 IPython.notebook.save_notebook();
39 IPython.notebook.save_notebook();
40 that.set_document_title();
40 that.set_document_title();
41 });
41 });
42 };
42 };
43
43
44
44
45 SaveWidget.prototype.get_notebook_name = function () {
45 SaveWidget.prototype.get_notebook_name = function () {
46 return this.element.find('input#notebook_name').attr('value');
46 return this.element.find('input#notebook_name').attr('value');
47 }
47 }
48
48
49
49
50 SaveWidget.prototype.set_notebook_name = function (nbname) {
50 SaveWidget.prototype.set_notebook_name = function (nbname) {
51 this.element.find('input#notebook_name').attr('value',nbname);
51 this.element.find('input#notebook_name').attr('value',nbname);
52 this.set_document_title();
52 this.set_document_title();
53 }
53 }
54
54
55
55
56 SaveWidget.prototype.set_document_title = function () {
56 SaveWidget.prototype.set_document_title = function () {
57 nbname = this.get_notebook_name();
57 nbname = this.get_notebook_name();
58 document.title = 'IPy: ' + nbname;
58 document.title = 'IPy: ' + nbname;
59 };
59 };
60
60
61
61
62 SaveWidget.prototype.get_notebook_id = function () {
62 SaveWidget.prototype.get_notebook_id = function () {
63 return this.element.find('span#notebook_id').text()
63 return this.element.find('span#notebook_id').text()
64 };
64 };
65
65
66
66
67 SaveWidget.prototype.update_url = function () {
67 SaveWidget.prototype.update_url = function () {
68 var notebook_id = this.get_notebook_id();
68 var notebook_id = this.get_notebook_id();
69 if (notebook_id !== '') {
69 if (notebook_id !== '') {
70 window.history.replaceState({}, '', notebook_id);
70 window.history.replaceState({}, '', notebook_id);
71 };
71 };
72 };
72 };
73
73
74
74
75 SaveWidget.prototype.test_notebook_name = function () {
75 SaveWidget.prototype.test_notebook_name = function () {
76 var nbname = this.get_notebook_name();
76 var nbname = this.get_notebook_name();
77 if (this.notebook_name_re.test(nbname)) {
77 if (this.notebook_name_re.test(nbname)) {
78 return true;
78 return true;
79 } else {
79 } else {
80 var bad_name = $('<div/>');
80 var bad_name = $('<div/>');
81 bad_name.html(
81 bad_name.html(
82 "The notebook name you entered (" +
82 "The notebook name you entered (" +
83 nbname +
83 nbname +
84 ") is not valid. Notebook names can contain any characters except / and \\"
84 ") is not valid. Notebook names can contain any characters except / and \\"
85 );
85 );
86 bad_name.dialog({title: 'Invalid name', modal: true});
86 bad_name.dialog({title: 'Invalid name', modal: true});
87 return false;
87 return false;
88 };
88 };
89 };
89 };
90
90
91
91
92 SaveWidget.prototype.status_save = function () {
92 SaveWidget.prototype.status_save = function () {
93 this.element.find('span.ui-button-text').text('Save');
93 this.element.find('button#save_notebook').button('option', 'label', 'Save');
94 this.element.find('button#save_notebook').button('enable');
94 this.element.find('button#save_notebook').button('enable');
95 };
95 IPython.print_widget.enable();
96 };
96
97
97
98
98 SaveWidget.prototype.status_saving = function () {
99 SaveWidget.prototype.status_saving = function () {
99 this.element.find('span.ui-button-text').text('Saving');
100 this.element.find('button#save_notebook').button('option', 'label', 'Saving');
100 this.element.find('button#save_notebook').button('disable');
101 this.element.find('button#save_notebook').button('disable');
101 };
102 IPython.print_widget.disable();
103 };
102
104
103
105
104 SaveWidget.prototype.status_loading = function () {
106 SaveWidget.prototype.status_loading = function () {
105 this.element.find('span.ui-button-text').text('Loading');
107 this.element.find('button#save_notebook').button('option', 'label', 'Loading');
106 this.element.find('button#save_notebook').button('disable');
108 this.element.find('button#save_notebook').button('disable');
109 IPython.print_widget.disable();
107 };
110 };
108
111
109
112
110 IPython.SaveWidget = SaveWidget;
113 IPython.SaveWidget = SaveWidget;
111
114
112 return IPython;
115 return IPython;
113
116
114 }(IPython));
117 }(IPython));
115
118
@@ -1,224 +1,229 b''
1 <!DOCTYPE HTML>
1 <!DOCTYPE HTML>
2 <html>
2 <html>
3
3
4 <head>
4 <head>
5 <meta charset="utf-8">
5 <meta charset="utf-8">
6
6
7 <title>IPython Notebook</title>
7 <title>IPython Notebook</title>
8
8
9 <link rel="stylesheet" href="static/jquery/css/themes/aristo/jquery-wijmo.css" type="text/css" />
9 <link rel="stylesheet" href="static/jquery/css/themes/aristo/jquery-wijmo.css" type="text/css" />
10 <!-- <link rel="stylesheet" href="static/jquery/css/themes/rocket/jquery-wijmo.css" type="text/css" /> -->
10 <!-- <link rel="stylesheet" href="static/jquery/css/themes/rocket/jquery-wijmo.css" type="text/css" /> -->
11 <!-- <link rel="stylesheet" href="static/jquery/css/themes/smoothness/jquery-ui-1.8.14.custom.css" type="text/css" />-->
11 <!-- <link rel="stylesheet" href="static/jquery/css/themes/smoothness/jquery-ui-1.8.14.custom.css" type="text/css" />-->
12
12
13 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" charset="utf-8"></script>
13 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" charset="utf-8"></script>
14 <!-- <script type='text/javascript' src='static/mathjax/MathJax.js?config=TeX-AMS_HTML' charset='utf-8'></script> -->
14 <!-- <script type='text/javascript' src='static/mathjax/MathJax.js?config=TeX-AMS_HTML' charset='utf-8'></script> -->
15 <script type="text/javascript">
15 <script type="text/javascript">
16 if (typeof MathJax == 'undefined') {
16 if (typeof MathJax == 'undefined') {
17 console.log("Trying to load local copy of MathJax");
17 console.log("Trying to load local copy of MathJax");
18 document.write(unescape("%3Cscript type='text/javascript' src='static/mathjax/MathJax.js%3Fconfig=TeX-AMS_HTML' charset='utf-8'%3E%3C/script%3E"));
18 document.write(unescape("%3Cscript type='text/javascript' src='static/mathjax/MathJax.js%3Fconfig=TeX-AMS_HTML' charset='utf-8'%3E%3C/script%3E"));
19 }
19 }
20 </script>
20 </script>
21
21
22 <link rel="stylesheet" href="static/codemirror-2.12/lib/codemirror.css">
22 <link rel="stylesheet" href="static/codemirror-2.12/lib/codemirror.css">
23 <link rel="stylesheet" href="static/codemirror-2.12/mode/rst/rst.css">
23 <link rel="stylesheet" href="static/codemirror-2.12/mode/rst/rst.css">
24 <link rel="stylesheet" href="static/codemirror-2.12/theme/ipython.css">
24 <link rel="stylesheet" href="static/codemirror-2.12/theme/ipython.css">
25 <link rel="stylesheet" href="static/codemirror-2.12/theme/default.css">
25 <link rel="stylesheet" href="static/codemirror-2.12/theme/default.css">
26
26
27 <link rel="stylesheet" href="static/css/boilerplate.css" type="text/css" />
27 <link rel="stylesheet" href="static/css/boilerplate.css" type="text/css" />
28 <link rel="stylesheet" href="static/css/layout.css" type="text/css" />
28 <link rel="stylesheet" href="static/css/layout.css" type="text/css" />
29 <link rel="stylesheet" href="static/css/base.css" type="text/css" />
29 <link rel="stylesheet" href="static/css/base.css" type="text/css" />
30 <link rel="stylesheet" href="static/css/notebook.css" type="text/css" />
30 <link rel="stylesheet" href="static/css/notebook.css" type="text/css" />
31 <link rel="stylesheet" href="static/css/renderedhtml.css" type="text/css" />
31 <link rel="stylesheet" href="static/css/renderedhtml.css" type="text/css" />
32
32
33
33
34 </head>
34 </head>
35
35
36 <body>
36 <body>
37
37
38 <div id="header">
38 <div id="header">
39 <span id="ipython_notebook"><h1>IPython Notebook</h1></span>
39 <span id="ipython_notebook"><h1>IPython Notebook</h1></span>
40 <span id="save_widget">
40 <span id="save_widget">
41 <input type="text" id="notebook_name" size="20"></textarea>
41 <input type="text" id="notebook_name" size="20"></textarea>
42 <span id="notebook_id" style="display:none">{{notebook_id}}</span>
42 <span id="notebook_id" style="display:none">{{notebook_id}}</span>
43 <button id="save_notebook">Save</button>
43 <button id="save_notebook">Save</button>
44 </span>
44 </span>
45 <span id="kernel_status">Idle</span>
45 <span id="kernel_status">Idle</span>
46 </div>
46 </div>
47
47
48 <div id="main_app">
48 <div id="main_app">
49
49
50 <div id="left_panel">
50 <div id="left_panel">
51
51
52 <div id="notebook_section">
52 <div id="notebook_section">
53 <h3 class="section_header">Notebook</h3>
53 <h3 class="section_header">Notebook</h3>
54 <div class="section_content">
54 <div class="section_content">
55 <div class="section_row">
55 <div class="section_row">
56 <span id="new_open" class="section_row_buttons">
56 <span id="new_open" class="section_row_buttons">
57 <button id="new_notebook">New</button>
57 <button id="new_notebook">New</button>
58 <button id="open_notebook">Open</button>
58 <button id="open_notebook">Open</button>
59 </span>
59 </span>
60 <span class="section_row_header">Actions</span>
60 <span class="section_row_header">Actions</span>
61 </div>
61 </div>
62 <div class="section_row">
62 <div class="section_row">
63 <span>
63 <span>
64 <select id="download_format">
64 <select id="download_format">
65 <option value="xml">xml</option>
65 <option value="xml">xml</option>
66 <option value="json">json</option>
66 <option value="json">json</option>
67 <option value="py">py</option>
67 <option value="py">py</option>
68 </select>
68 </select>
69 </span>
69 </span>
70 <span class="section_row_buttons">
70 <span class="section_row_buttons">
71 <span id="print_widget">
72 <button id="print_notebook">Print/HTML</button>
73 </span>
74
71 <button id="download_notebook">Export</button>
75 <button id="download_notebook">Export</button>
72 </span>
76 </span>
73 </div>
77 </div>
74 </div>
78 </div>
75 </div>
79 </div>
76
80
77 <div id="cell_section">
81 <div id="cell_section">
78 <h3 class="section_header">Cell</h3>
82 <h3 class="section_header">Cell</h3>
79 <div class="section_content">
83 <div class="section_content">
80 <div class="section_row">
84 <div class="section_row">
81 <span class="section_row_buttons">
85 <span class="section_row_buttons">
82 <button id="delete_cell">Delete</button>
86 <button id="delete_cell">Delete</button>
83 </span>
87 </span>
84 <span class="section_row_header">Actions</span>
88 <span class="section_row_header">Actions</span>
85 </div>
89 </div>
86 <div class="section_row">
90 <div class="section_row">
87 <span id="cell_type" class="section_row_buttons">
91 <span id="cell_type" class="section_row_buttons">
88 <button id="to_code">Code</button>
92 <button id="to_code">Code</button>
89 <!-- <button id="to_html">HTML</button>-->
93 <!-- <button id="to_html">HTML</button>-->
90 <button id="to_markdown">Markdown</button>
94 <button id="to_markdown">Markdown</button>
91 </span>
95 </span>
92 <span class="button_label">Format</span>
96 <span class="button_label">Format</span>
93 </div>
97 </div>
94 <div class="section_row">
98 <div class="section_row">
95 <span id="toggle_output" class="section_row_buttons">
99 <span id="toggle_output" class="section_row_buttons">
96 <button id="collapse_cell">Collapse</button>
100 <button id="collapse_cell">Collapse</button>
97 <button id="expand_cell">Expand</button>
101 <button id="expand_cell">Expand</button>
98 <button id="clear_all_output">ClearAll</button>
102 <button id="clear_all_output">ClearAll</button>
99 </span>
103 </span>
100 <span class="button_label">Output</span>
104 <span class="button_label">Output</span>
101 </div>
105 </div>
102 <div class="section_row">
106 <div class="section_row">
103 <span id="insert" class="section_row_buttons">
107 <span id="insert" class="section_row_buttons">
104 <button id="insert_cell_above">Above</button>
108 <button id="insert_cell_above">Above</button>
105 <button id="insert_cell_below">Below</button>
109 <button id="insert_cell_below">Below</button>
106 </span>
110 </span>
107 <span class="button_label">Insert</span>
111 <span class="button_label">Insert</span>
108 </div>
112 </div>
109 <div class="section_row">
113 <div class="section_row">
110 <span id="move" class="section_row_buttons">
114 <span id="move" class="section_row_buttons">
111 <button id="move_cell_up">Up</button>
115 <button id="move_cell_up">Up</button>
112 <button id="move_cell_down">Down</button>
116 <button id="move_cell_down">Down</button>
113 </span>
117 </span>
114 <span class="button_label">Move</span>
118 <span class="button_label">Move</span>
115 </div>
119 </div>
116 <div class="section_row">
120 <div class="section_row">
117 <span id="run_cells" class="section_row_buttons">
121 <span id="run_cells" class="section_row_buttons">
118 <button id="run_selected_cell">Selected</button>
122 <button id="run_selected_cell">Selected</button>
119 <button id="run_all_cells">All</button>
123 <button id="run_all_cells">All</button>
120 </span>
124 </span>
121 <span class="button_label">Run</span>
125 <span class="button_label">Run</span>
122 </div>
126 </div>
123 <div class="section_row">
127 <div class="section_row">
124 <span id="autoindent_span">
128 <span id="autoindent_span">
125 <input type="checkbox" id="autoindent" checked="true"></input>
129 <input type="checkbox" id="autoindent" checked="true"></input>
126 </span>
130 </span>
127 <span class="checkbox_label">Autoindent:</span>
131 <span class="checkbox_label">Autoindent:</span>
128 </div>
132 </div>
129 </div>
133 </div>
130 </div>
134 </div>
131
135
132 <div id="kernel_section">
136 <div id="kernel_section">
133 <h3 class="section_header">Kernel</h3>
137 <h3 class="section_header">Kernel</h3>
134 <div class="section_content">
138 <div class="section_content">
135 <div class="section_row">
139 <div class="section_row">
136 <span id="int_restart" class="section_row_buttons">
140 <span id="int_restart" class="section_row_buttons">
137 <button id="int_kernel">Interrupt</button>
141 <button id="int_kernel">Interrupt</button>
138 <button id="restart_kernel">Restart</button>
142 <button id="restart_kernel">Restart</button>
139 </span>
143 </span>
140 <span class="section_row_header">Actions</span>
144 <span class="section_row_header">Actions</span>
141 </div>
145 </div>
142 <div class="section_row">
146 <div class="section_row">
143 <span id="kernel_persist">
147 <span id="kernel_persist">
144 <input type="checkbox" id="kill_kernel"></input>
148 <input type="checkbox" id="kill_kernel"></input>
145 </span>
149 </span>
146 <span class="checkbox_label">Kill kernel upon exit:</span>
150 <span class="checkbox_label">Kill kernel upon exit:</span>
147 </div>
151 </div>
148 </div>
152 </div>
149 </div>
153 </div>
150
154
151 <div id="help_section">
155 <div id="help_section">
152 <h3 class="section_header">Help</h3>
156 <h3 class="section_header">Help</h3>
153 <div class="section_content">
157 <div class="section_content">
154 <div class="section_row">
158 <div class="section_row">
155 <span id="help_buttons0" class="section_row_buttons">
159 <span id="help_buttons0" class="section_row_buttons">
156 <button id="python_help"><a href="http://docs.python.org" target="_blank">Python</a></button>
160 <button id="python_help"><a href="http://docs.python.org" target="_blank">Python</a></button>
157 <button id="ipython_help"><a href="http://ipython.org/documentation.html" target="_blank">IPython</a></button>
161 <button id="ipython_help"><a href="http://ipython.org/documentation.html" target="_blank">IPython</a></button>
158 <button id="numpy_help"><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></button>
162 <button id="numpy_help"><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></button>
159 </span>
163 </span>
160 <span class="section_row_header">Links</span>
164 <span class="section_row_header">Links</span>
161 </div>
165 </div>
162 <div class="section_row">
166 <div class="section_row">
163 <span id="help_buttons1" class="section_row_buttons">
167 <span id="help_buttons1" class="section_row_buttons">
164 <button id="matplotlib_help"><a href="http://matplotlib.sourceforge.net/" target="_blank">MPL</a></button>
168 <button id="matplotlib_help"><a href="http://matplotlib.sourceforge.net/" target="_blank">MPL</a></button>
165 <button id="scipy_help"><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></button>
169 <button id="scipy_help"><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></button>
166 <button id="sympy_help"><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></button>
170 <button id="sympy_help"><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></button>
167 </span>
171 </span>
168 </div>
172 </div>
169 <div class="section_row">
173 <div class="section_row">
170 <span class="help_string">run selected cell</span>
174 <span class="help_string">run selected cell</span>
171 <span class="help_string_label">Shift-Enter |</span>
175 <span class="help_string_label">Shift-Enter |</span>
172 </div>
176 </div>
173 <div class="section_row">
177 <div class="section_row">
174 <span class="help_string">run in terminal mode</span>
178 <span class="help_string">run in terminal mode</span>
175 <span class="help_string_label">Ctrl-Enter |</span>
179 <span class="help_string_label">Ctrl-Enter |</span>
176 </div>
180 </div>
177 </div>
181 </div>
178 </div>
182 </div>
179
183
180 </div>
184 </div>
181 <div id="left_panel_splitter"></div>
185 <div id="left_panel_splitter"></div>
182 <div id="notebook_panel">
186 <div id="notebook_panel">
183 <div id="notebook"></div>
187 <div id="notebook"></div>
184 <div id="pager_splitter"></div>
188 <div id="pager_splitter"></div>
185 <div id="pager"></div>
189 <div id="pager"></div>
186 </div>
190 </div>
187
191
188 </div>
192 </div>
189
193
190 <script src="static/jquery/js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
194 <script src="static/jquery/js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
191 <script src="static/jquery/js/jquery-ui-1.8.14.custom.min.js" type="text/javascript" charset="utf-8"></script>
195 <script src="static/jquery/js/jquery-ui-1.8.14.custom.min.js" type="text/javascript" charset="utf-8"></script>
192 <script src="static/jquery/js/jquery.autogrow.js" type="text/javascript" charset="utf-8"></script>
196 <script src="static/jquery/js/jquery.autogrow.js" type="text/javascript" charset="utf-8"></script>
193
197
194 <script src="static/codemirror-2.12/lib/codemirror.js" charset="utf-8"></script>
198 <script src="static/codemirror-2.12/lib/codemirror.js" charset="utf-8"></script>
195 <script src="static/codemirror-2.12/mode/python/python.js" charset="utf-8"></script>
199 <script src="static/codemirror-2.12/mode/python/python.js" charset="utf-8"></script>
196 <script src="static/codemirror-2.12/mode/htmlmixed/htmlmixed.js" charset="utf-8"></script>
200 <script src="static/codemirror-2.12/mode/htmlmixed/htmlmixed.js" charset="utf-8"></script>
197 <script src="static/codemirror-2.12/mode/xml/xml.js" charset="utf-8"></script>
201 <script src="static/codemirror-2.12/mode/xml/xml.js" charset="utf-8"></script>
198 <script src="static/codemirror-2.12/mode/javascript/javascript.js" charset="utf-8"></script>
202 <script src="static/codemirror-2.12/mode/javascript/javascript.js" charset="utf-8"></script>
199 <script src="static/codemirror-2.12/mode/css/css.js" charset="utf-8"></script>
203 <script src="static/codemirror-2.12/mode/css/css.js" charset="utf-8"></script>
200 <script src="static/codemirror-2.12/mode/rst/rst.js" charset="utf-8"></script>
204 <script src="static/codemirror-2.12/mode/rst/rst.js" charset="utf-8"></script>
201
205
202 <script src="static/pagedown/Markdown.Converter.js" charset="utf-8"></script>
206 <script src="static/pagedown/Markdown.Converter.js" charset="utf-8"></script>
203
207
204 <script src="static/js/namespace.js" type="text/javascript" charset="utf-8"></script>
208 <script src="static/js/namespace.js" type="text/javascript" charset="utf-8"></script>
205 <script src="static/js/utils.js" type="text/javascript" charset="utf-8"></script>
209 <script src="static/js/utils.js" type="text/javascript" charset="utf-8"></script>
206 <script src="static/js/cell.js" type="text/javascript" charset="utf-8"></script>
210 <script src="static/js/cell.js" type="text/javascript" charset="utf-8"></script>
207 <script src="static/js/codecell.js" type="text/javascript" charset="utf-8"></script>
211 <script src="static/js/codecell.js" type="text/javascript" charset="utf-8"></script>
208 <script src="static/js/textcell.js" type="text/javascript" charset="utf-8"></script>
212 <script src="static/js/textcell.js" type="text/javascript" charset="utf-8"></script>
209 <script src="static/js/kernel.js" type="text/javascript" charset="utf-8"></script>
213 <script src="static/js/kernel.js" type="text/javascript" charset="utf-8"></script>
210 <script src="static/js/kernelstatus.js" type="text/javascript" charset="utf-8"></script>
214 <script src="static/js/kernelstatus.js" type="text/javascript" charset="utf-8"></script>
211 <script src="static/js/layout.js" type="text/javascript" charset="utf-8"></script>
215 <script src="static/js/layout.js" type="text/javascript" charset="utf-8"></script>
212 <script src="static/js/savewidget.js" type="text/javascript" charset="utf-8"></script>
216 <script src="static/js/savewidget.js" type="text/javascript" charset="utf-8"></script>
213 <script src="static/js/pager.js" type="text/javascript" charset="utf-8"></script>
217 <script src="static/js/pager.js" type="text/javascript" charset="utf-8"></script>
214 <script src="static/js/panelsection.js" type="text/javascript" charset="utf-8"></script>
218 <script src="static/js/panelsection.js" type="text/javascript" charset="utf-8"></script>
219 <script src="static/js/printwidget.js" type="text/javascript" charset="utf-8"></script>
215 <script src="static/js/leftpanel.js" type="text/javascript" charset="utf-8"></script>
220 <script src="static/js/leftpanel.js" type="text/javascript" charset="utf-8"></script>
216 <script src="static/js/notebook.js" type="text/javascript" charset="utf-8"></script>
221 <script src="static/js/notebook.js" type="text/javascript" charset="utf-8"></script>
217 <script src="static/js/notebook_main.js" type="text/javascript" charset="utf-8"></script>
222 <script src="static/js/notebook_main.js" type="text/javascript" charset="utf-8"></script>
218
223
219
224
220 </body>
225 </body>
221
226
222 </html>
227 </html>
223
228
224
229
General Comments 0
You need to be logged in to leave comments. Login now