##// END OF EJS Templates
A new implementation of reveal converter with jinja templates.
damianavila -
Show More
@@ -0,0 +1,21 b''
1 {%- extends 'basichtml.tpl' -%}
2
3
4
5 {%- block any_cell scoped -%}
6 {%- if cell.metadata.slide_type in ['-', 'slide', 'subslide'] -%}
7 {{ super() }}
8 {%- elif cell.metadata.slide_type in ['skip'] -%}
9 <div style=display:none>
10 {{ super() }}
11 </div>
12 {%- elif cell.metadata.slide_type in ['notes'] -%}
13 <aside class="notes">
14 {{ super() }}
15 </aside>
16 {%- elif cell.metadata.slide_type in ['fragment'] -%}
17 <div class="fragment">
18 {{ super() }}
19 </div>
20 {%- endif -%}
21 {%- endblock any_cell -%}
@@ -0,0 +1,17 b''
1 {%- extends 'subslides.tpl' -%}
2
3
4
5 {%- block any_cell scoped -%}
6 {%- if cell.metadata.slide_type in ['slide'] -%}
7 <section>
8 <section>
9 {%- endif -%}
10
11 {{ super() }}
12
13 {%- if cell.metadata.slide_helper in ['slide_end'] -%}
14 </section>
15 </section>
16 {%- endif -%}
17 {%- endblock any_cell -%}
@@ -0,0 +1,15 b''
1 {%- extends 'reveal_cells.tpl' -%}
2
3
4
5 {%- block any_cell scoped -%}
6 {%- if cell.metadata.slide_type in ['subslide'] -%}
7 <section>
8 {%- endif -%}
9
10 {{ super() }}
11
12 {%- if cell.metadata.slide_helper in ['subslide_end'] -%}
13 </section>
14 {%- endif -%}
15 {%- endblock any_cell -%}
@@ -139,9 +139,9 b' class ExtractFigureTransformer(ActivatableTransformer):'
139 """Create a new figure file in the given format.
139 """Create a new figure file in the given format.
140
140
141 """
141 """
142 tplf = self.figname_format_map.get(fmt,self.default_key_tpl)
142 tplf = self.figname_format_map.get(fmt,self.default_key_tpl)
143 tplk = self.key_format_map.get(fmt,self.default_key_tpl)
143 tplk = self.key_format_map.get(fmt,self.default_key_tpl)
144
144
145 # option to pass the hash as data ?
145 # option to pass the hash as data ?
146 figname = tplf.format(count=count, ext=self._get_ext(fmt))
146 figname = tplf.format(count=count, ext=self._get_ext(fmt))
147 key = tplk.format(count=count, ext=self._get_ext(fmt))
147 key = tplk.format(count=count, ext=self._get_ext(fmt))
@@ -167,105 +167,20 b' class ExtractFigureTransformer(ActivatableTransformer):'
167
167
168 class RevealHelpTransformer(ConfigurableTransformers):
168 class RevealHelpTransformer(ConfigurableTransformers):
169
169
170 section_open = False
170 def __call__(self, nb, other):
171 subsection_open = False
171 try :
172 fragment_open = False
172 for worksheet in nb.worksheets :
173
173 for i, cell in enumerate(worksheet.cells):
174 def open_subsection(self):
174 cell.metadata.slide_type = cell.metadata.get('slideshow', {}).get('slide_type', None)
175 self.subsection_open = True
175 if cell.metadata.slide_type is None:
176 return True
176 cell.metadata.slide_type = '-'
177
177 if cell.metadata.slide_type in ['slide']:
178 def open_section(self):
178 worksheet.cells[i - 1].metadata.slide_helper = 'slide_end'
179 self.section_open = True
179 if cell.metadata.slide_type in ['subslide']:
180 return True
180 worksheet.cells[i - 1].metadata.slide_helper = 'subslide_end'
181
181 return nb, other
182 def open_fragment(self):
182 except NotImplementedError as error :
183 self.fragment_open = True
183 raise NotImplementedError('should be implemented by subclass')
184 return True
185
186 # could probaly write those maybe_close/open
187 # with a function functor
188 def maybe_close_section(self):
189 """return True is already open, false otherwise
190 and change state to close
191 """
192 if self.section_open :
193 self.section_open = False
194 return True
195 else :
196 return False
197
198 def maybe_open_section(self):
199 """return True is already open, false otherwise
200 and change state to close
201 """
202 if not self.section_open :
203 self.section_open = True
204 return True
205 else :
206 return False
207
208 def maybe_open_subsection(self):
209 """return True is already open, false otherwise
210 and change state to close
211 """
212 if not self.subsection_open :
213 self.subsection_open = True
214 return True
215 else :
216 return False
217
218 def maybe_close_subsection(self):
219 """return True is already open, false otherwise
220 and change state to close
221 """
222 if self.subsection_open :
223 self.subsection_open = False
224 return True
225 else :
226 return False
227
228 def maybe_close_fragment(self):
229 """return True is already open, false otherwise
230 and change state to close
231 """
232 if self.fragment_open :
233 self.fragment_open = False
234 return True
235 else :
236 return False
237
238 def cell_transform(self, cell, other, count):
239 ctype = cell.metadata.get('slideshow', {}).get('slide_type', None)
240 if ctype in [None, '-'] :
241 cell.metadata.slideshow = {}
242 cell.metadata.slideshow['slide_type'] = None
243 elif ctype == 'fragment':
244 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
245 cell.metadata.slideshow.close_subsection = False
246 cell.metadata.slideshow.close_section = False
247
248 cell.metadata.slideshow.open_section = self.maybe_open_section()
249 cell.metadata.slideshow.open_subsection = self.maybe_open_subsection()
250 cell.metadata.slideshow.open_fragment = self.open_fragment()
251
252 elif ctype == 'subslide':
253 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
254 cell.metadata.slideshow.close_subsection = self.maybe_close_subsection()
255 cell.metadata.slideshow.close_section = False
256
257 cell.metadata.slideshow.open_section = self.maybe_open_section()
258 cell.metadata.slideshow.open_subsection = self.open_subsection()
259 cell.metadata.slideshow.open_fragment = False
260 elif ctype == 'slide':
261 cell.metadata.slideshow.close_fragment = self.maybe_close_fragment()
262 cell.metadata.slideshow.close_subsection = self.maybe_close_subsection()
263 cell.metadata.slideshow.close_section = self.maybe_close_section()
264
265 cell.metadata.slideshow.open_section = self.open_section()
266 cell.metadata.slideshow.open_subsection = self.open_subsection()
267 cell.metadata.slideshow.open_fragment = False
268 return cell, other
269
184
270
185
271 class CSSHtmlHeaderTransformer(ActivatableTransformer):
186 class CSSHtmlHeaderTransformer(ActivatableTransformer):
@@ -1,85 +1,8 b''
1 {%- extends 'basichtml.tpl' -%}
1 {%- extends 'slides.tpl' -%}
2
2
3
3
4 {% block any_cell -%}
4 {% block header %}
5
5 <!DOCTYPE html>
6 {% if cell.metadata.slideshow.close_fragment %}
7 </div>
8 {% endif %}
9 {% if cell.metadata.slideshow.close_subsection %}
10 </section>
11 {% endif %}
12 {% if cell.metadata.slideshow.close_section %}
13 </section>
14 {% endif %}
15
16 {% if cell.metadata.slideshow.open_section %}
17 <section>
18 {%- endif %}
19 {% if cell.metadata.slideshow.open_subsection %}
20 <section>
21 {%- endif %}
22 {% if cell.metadata.slideshow.open_fragment %}
23 <div class='fragment'>
24 {% endif %}
25 {% if cell.metadata.slideshow.slide_type in ['notes'] %}
26 <aside class="notes">
27 {{ super() }}
28 </aside>
29 {% elif cell.metadata.slideshow.slide_type not in ['skip'] %}
30 {{ super() }}
31 {% endif %}
32
33 {% endblock %}
34
35
36 {% block body %}
37 <body>
38 <div class="reveal"><div class="slides">
39 {{ super() }}
40 </section>
41 </section>
42 </div></div>
43
44 <script src="reveal/lib/js/head.min.js"></script>
45
46 <script src="reveal/js/reveal.min.js"></script>
47
48 <script>
49
50 // Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration
51 Reveal.initialize({
52 controls: true,
53 progress: true,
54 history: true,
55
56 theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
57 transition: Reveal.getQueryHash().transition || 'linear', // default/cube/page/concave/zoom/linear/none
58
59 // Optional libraries used to extend on reveal.js
60 dependencies: [
61 { src: 'reveal/lib/js/classList.js', condition: function() { return !document.body.classList; } },
62 { src: 'reveal/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
63 { src: 'reveal/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
64 { src: 'notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
65 { src: 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML', async: true },
66 { src: 'js/revealmathjax.js', async: true}
67 ]
68 });
69 </script>
70
71 <script>
72 Reveal.addEventListener( 'slidechanged', function( event ) {
73 MathJax.Hub.Rerender(event.currentSlide);
74 });
75 </script>
76 </body>
77 </html>{% endblock body %}
78
79
80
81
82 {% block header %}<!DOCTYPE html>
83 <html>
6 <html>
84 <head>
7 <head>
85
8
@@ -147,4 +70,65 b' div.output_prompt {'
147 margin: 5px 5px 0 -5px;
70 margin: 5px 5px 0 -5px;
148 }
71 }
149 </style>
72 </style>
150 </head>{% endblock %}
73 </head>
74 {% endblock header%}
75
76
77 {% block body %}
78 <body>
79 <div class="reveal"><div class="slides">
80
81 {{ super() }}
82
83 </div></div>
84
85 <!-- Social buttons -->
86 <div class="addthis_toolbox addthis_floating_style addthis_32x32_style" style="left:20px;top:20px;">
87 <a class="addthis_button_twitter"></a>
88 <a class="addthis_button_google_plusone_share"></a>
89 <a class="addthis_button_linkedin"></a>
90 <a class="addthis_button_facebook"></a>
91 <a class="addthis_button_more"></a>
92 </div>
93 <!-- End of social buttons -->
94
95 <script src="reveal/lib/js/head.min.js"></script>
96
97 <script src="reveal/js/reveal.min.js"></script>
98
99 <script>
100
101 // Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration
102 Reveal.initialize({
103 controls: true,
104 progress: true,
105 history: true,
106
107 theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
108 transition: Reveal.getQueryHash().transition || 'linear', // default/cube/page/concave/zoom/linear/none
109
110 // Optional libraries used to extend on reveal.js
111 dependencies: [
112 { src: 'reveal/lib/js/classList.js', condition: function() { return !document.body.classList; } },
113 { src: 'reveal/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
114 { src: 'reveal/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
115 { src: 'notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
116 { src: 'http://s7.addthis.com/js/300/addthis_widget.js', async: true},
117 { src: 'js/revealmathjax.js', async: true},
118 { src: 'js/mathjax-onload.js', async: true}
119 ]
120 });
121 </script>
122
123 <script>
124 Reveal.addEventListener( 'slidechanged', function( event ) {
125 MathJax.Hub.Rerender(event.currentSlide);
126 });
127 </script>
128
129 </body>
130 {% endblock body %}
131
132 {% block footer %}
133 </html>
134 {% endblock footer %} No newline at end of file
This diff has been collapsed as it changes many lines, (1041 lines changed) Show them Hide them
@@ -104,6 +104,7 b' b,strong { font-weight: bold; }'
104
104
105 </style>
105 </style>
106 <style type="text/css">
106 <style type="text/css">
107 <<<<<<< HEAD
107 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
108 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
108 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
109 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
109 audio:not([controls]){display:none;}
110 audio:not([controls]){display:none;}
@@ -1124,6 +1125,579 b' div.output_prompt {'
1124 }
1125 }
1125 </style>
1126 </style>
1126 <meta charset="UTF-8">
1127 <meta charset="UTF-8">
1128 =======
1129
1130 /* Flexible box model classes */
1131 /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
1132
1133 .hbox {
1134 display: -webkit-box;
1135 -webkit-box-orient: horizontal;
1136 -webkit-box-align: stretch;
1137
1138 display: -moz-box;
1139 -moz-box-orient: horizontal;
1140 -moz-box-align: stretch;
1141
1142 display: box;
1143 box-orient: horizontal;
1144 box-align: stretch;
1145 }
1146
1147 .hbox > * {
1148 -webkit-box-flex: 0;
1149 -moz-box-flex: 0;
1150 box-flex: 0;
1151 }
1152
1153 .vbox {
1154 display: -webkit-box;
1155 -webkit-box-orient: vertical;
1156 -webkit-box-align: stretch;
1157
1158 display: -moz-box;
1159 -moz-box-orient: vertical;
1160 -moz-box-align: stretch;
1161
1162 display: box;
1163 box-orient: vertical;
1164 box-align: stretch;
1165 }
1166
1167 .vbox > * {
1168 -webkit-box-flex: 0;
1169 -moz-box-flex: 0;
1170 box-flex: 0;
1171 }
1172
1173 .reverse {
1174 -webkit-box-direction: reverse;
1175 -moz-box-direction: reverse;
1176 box-direction: reverse;
1177 }
1178
1179 .box-flex0 {
1180 -webkit-box-flex: 0;
1181 -moz-box-flex: 0;
1182 box-flex: 0;
1183 }
1184
1185 .box-flex1, .box-flex {
1186 -webkit-box-flex: 1;
1187 -moz-box-flex: 1;
1188 box-flex: 1;
1189 }
1190
1191 .box-flex2 {
1192 -webkit-box-flex: 2;
1193 -moz-box-flex: 2;
1194 box-flex: 2;
1195 }
1196
1197 .box-group1 {
1198 -webkit-box-flex-group: 1;
1199 -moz-box-flex-group: 1;
1200 box-flex-group: 1;
1201 }
1202
1203 .box-group2 {
1204 -webkit-box-flex-group: 2;
1205 -moz-box-flex-group: 2;
1206 box-flex-group: 2;
1207 }
1208
1209 .start {
1210 -webkit-box-pack: start;
1211 -moz-box-pack: start;
1212 box-pack: start;
1213 }
1214
1215 .end {
1216 -webkit-box-pack: end;
1217 -moz-box-pack: end;
1218 box-pack: end;
1219 }
1220
1221 .center {
1222 -webkit-box-pack: center;
1223 -moz-box-pack: center;
1224 box-pack: center;
1225 }
1226
1227 </style>
1228 <style type="text/css">
1229 /**
1230 * Primary styles
1231 *
1232 * Author: IPython Development Team
1233 */
1234
1235
1236 body {
1237 overflow: hidden;
1238 }
1239
1240 span#save_widget {
1241 padding: 5px;
1242 margin: 0px 0px 0px 300px;
1243 display:inline-block;
1244 }
1245
1246 span#notebook_name {
1247 height: 1em;
1248 line-height: 1em;
1249 padding: 3px;
1250 border: none;
1251 font-size: 146.5%;
1252 }
1253
1254 .ui-menubar-item .ui-button .ui-button-text {
1255 padding: 0.4em 1.0em;
1256 font-size: 100%;
1257 }
1258
1259 .ui-menu {
1260 -moz-box-shadow: 0px 6px 10px -1px #adadad;
1261 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
1262 box-shadow: 0px 6px 10px -1px #adadad;
1263 }
1264
1265 .ui-menu .ui-menu-item a {
1266 border: 1px solid transparent;
1267 padding: 2px 1.6em;
1268 }
1269
1270 .ui-menu .ui-menu-item a.ui-state-focus {
1271 margin: 0;
1272 }
1273
1274 .ui-menu hr {
1275 margin: 0.3em 0;
1276 }
1277
1278 #menubar_container {
1279 position: relative;
1280 }
1281
1282 #notification {
1283 position: absolute;
1284 right: 3px;
1285 top: 3px;
1286 height: 25px;
1287 padding: 3px 6px;
1288 z-index: 10;
1289 }
1290
1291 #toolbar {
1292 padding: 3px 15px;
1293 }
1294
1295 #cell_type {
1296 font-size: 85%;
1297 }
1298
1299
1300 div#main_app {
1301 width: 100%;
1302 position: relative;
1303 }
1304
1305 span#quick_help_area {
1306 position: static;
1307 padding: 5px 0px;
1308 margin: 0px 0px 0px 0px;
1309 }
1310
1311 .help_string {
1312 float: right;
1313 width: 170px;
1314 padding: 0px 5px;
1315 text-align: left;
1316 font-size: 85%;
1317 }
1318
1319 .help_string_label {
1320 float: right;
1321 font-size: 85%;
1322 }
1323
1324 div#notebook_panel {
1325 margin: 0px 0px 0px 0px;
1326 padding: 0px;
1327 }
1328
1329 div#notebook {
1330 overflow-y: scroll;
1331 overflow-x: auto;
1332 width: 100%;
1333 /* This spaces the cell away from the edge of the notebook area */
1334 padding: 5px 5px 15px 5px;
1335 margin: 0px;
1336 background-color: white;
1337 }
1338
1339 div#pager_splitter {
1340 height: 8px;
1341 }
1342
1343 div#pager {
1344 padding: 15px;
1345 overflow: auto;
1346 display: none;
1347 }
1348
1349 div.ui-widget-content {
1350 border: 1px solid #aaa;
1351 outline: none;
1352 }
1353
1354 .cell {
1355 border: 1px solid transparent;
1356 }
1357
1358 div.cell {
1359 width: 100%;
1360 padding: 5px 5px 5px 0px;
1361 /* This acts as a spacer between cells, that is outside the border */
1362 margin: 2px 0px 2px 0px;
1363 }
1364
1365 div.code_cell {
1366 background-color: white;
1367 }
1368
1369 /* any special styling for code cells that are currently running goes here */
1370 div.code_cell.running {
1371 }
1372
1373 div.prompt {
1374 /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
1375 width: 11ex;
1376 /* This 0.4em is tuned to match the padding on the CodeMirror editor. */
1377 padding: 0.4em;
1378 margin: 0px;
1379 font-family: monospace;
1380 text-align:right;
1381 }
1382
1383 div.input {
1384 page-break-inside: avoid;
1385 }
1386
1387 /* input_area and input_prompt must match in top border and margin for alignment */
1388 div.input_area {
1389 color: black;
1390 border: 1px solid #ddd;
1391 border-radius: 3px;
1392 background: #f7f7f7;
1393 }
1394
1395 div.input_prompt {
1396 color: navy;
1397 border-top: 1px solid transparent;
1398 }
1399
1400 div.output_wrapper {
1401 /* This is a spacer between the input and output of each cell */
1402 margin-top: 5px;
1403 margin-left: 5px;
1404 /* FF needs explicit width to stretch */
1405 width: 100%;
1406 /* this position must be relative to enable descendents to be absolute within it */
1407 position: relative;
1408 }
1409
1410 /* class for the output area when it should be height-limited */
1411 div.output_scroll {
1412 /* ideally, this would be max-height, but FF barfs all over that */
1413 height: 24em;
1414 /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
1415 width: 100%;
1416
1417 overflow: auto;
1418 border-radius: 3px;
1419 box-shadow: inset 0 2px 8px rgba(0, 0, 0, .8);
1420 }
1421
1422 /* output div while it is collapsed */
1423 div.output_collapsed {
1424 margin-right: 5px;
1425 }
1426
1427 div.out_prompt_overlay {
1428 height: 100%;
1429 padding: 0px;
1430 position: absolute;
1431 border-radius: 3px;
1432 }
1433
1434 div.out_prompt_overlay:hover {
1435 /* use inner shadow to get border that is computed the same on WebKit/FF */
1436 box-shadow: inset 0 0 1px #000;
1437 background: rgba(240, 240, 240, 0.5);
1438 }
1439
1440 div.output_prompt {
1441 color: darkred;
1442 /* 5px right shift to account for margin in parent container */
1443 margin: 0 5px 0 -5px;
1444 }
1445
1446 /* This class is the outer container of all output sections. */
1447 div.output_area {
1448 padding: 0px;
1449 page-break-inside: avoid;
1450 }
1451
1452 /* This class is for the output subarea inside the output_area and after
1453 the prompt div. */
1454 div.output_subarea {
1455 padding: 0.4em 0.4em 0.4em 0.4em;
1456 }
1457
1458 /* The rest of the output_* classes are for special styling of the different
1459 output types */
1460
1461 /* all text output has this class: */
1462 div.output_text {
1463 text-align: left;
1464 color: black;
1465 font-family: monospace;
1466 }
1467
1468 /* stdout/stderr are 'text' as well as 'stream', but pyout/pyerr are *not* streams */
1469 div.output_stream {
1470 padding-top: 0.0em;
1471 padding-bottom: 0.0em;
1472 }
1473 div.output_stdout {
1474 }
1475 div.output_stderr {
1476 background: #fdd; /* very light red background for stderr */
1477 }
1478
1479 div.output_latex {
1480 text-align: left;
1481 color: black;
1482 }
1483
1484 div.output_html {
1485 }
1486
1487 div.output_png {
1488 }
1489
1490 div.output_jpeg {
1491 }
1492
1493 div.text_cell {
1494 background-color: white;
1495 padding: 5px 5px 5px 5px;
1496 }
1497
1498 div.text_cell_input {
1499 color: black;
1500 border: 1px solid #ddd;
1501 border-radius: 3px;
1502 background: #f7f7f7;
1503 }
1504
1505 div.text_cell_render {
1506 font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
1507 outline: none;
1508 resize: none;
1509 width: inherit;
1510 border-style: none;
1511 padding: 5px;
1512 color: black;
1513 }
1514
1515 /* The following gets added to the <head> if it is detected that the user has a
1516 * monospace font with inconsistent normal/bold/italic height. See
1517 * notebookmain.js. Such fonts will have keywords vertically offset with
1518 * respect to the rest of the text. The user should select a better font.
1519 * See: https://github.com/ipython/ipython/issues/1503
1520 *
1521 * .CodeMirror span {
1522 * vertical-align: bottom;
1523 * }
1524 */
1525
1526 .CodeMirror {
1527 line-height: 1.231; /* Changed from 1em to our global default */
1528 }
1529
1530 .CodeMirror-scroll {
1531 height: auto; /* Changed to auto to autogrow */
1532 /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
1533 /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
1534 overflow-y: hidden;
1535 overflow-x: auto; /* Changed from auto to remove scrollbar */
1536 }
1537
1538 /* CSS font colors for translated ANSI colors. */
1539
1540
1541 .ansiblack {color: black;}
1542 .ansired {color: darkred;}
1543 .ansigreen {color: darkgreen;}
1544 .ansiyellow {color: brown;}
1545 .ansiblue {color: darkblue;}
1546 .ansipurple {color: darkviolet;}
1547 .ansicyan {color: steelblue;}
1548 .ansigrey {color: grey;}
1549 .ansibold {font-weight: bold;}
1550
1551 .completions {
1552 position: absolute;
1553 z-index: 10;
1554 overflow: hidden;
1555 border: 1px solid grey;
1556 }
1557
1558 .completions select {
1559 background: white;
1560 outline: none;
1561 border: none;
1562 padding: 0px;
1563 margin: 0px;
1564 overflow: auto;
1565 font-family: monospace;
1566 }
1567
1568 option.context {
1569 background-color: #DEF7FF;
1570 }
1571 option.introspection {
1572 background-color: #EBF4EB;
1573 }
1574
1575 /*fixed part of the completion*/
1576 .completions p b {
1577 font-weight:bold;
1578 }
1579
1580 .completions p {
1581 background: #DDF;
1582 /*outline: none;
1583 padding: 0px;*/
1584 border-bottom: black solid 1px;
1585 padding: 1px;
1586 font-family: monospace;
1587 }
1588
1589 pre.dialog {
1590 background-color: #f7f7f7;
1591 border: 1px solid #ddd;
1592 border-radius: 3px;
1593 padding: 0.4em;
1594 padding-left: 2em;
1595 }
1596
1597 p.dialog {
1598 padding : 0.2em;
1599 }
1600
1601 .shortcut_key {
1602 display: inline-block;
1603 width: 15ex;
1604 text-align: right;
1605 font-family: monospace;
1606 }
1607
1608 .shortcut_descr {
1609 }
1610
1611 /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
1612 to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
1613 */
1614 pre, code, kbd, samp { white-space: pre-wrap; }
1615
1616 #fonttest {
1617 font-family: monospace;
1618 }
1619
1620 </style>
1621 <style type="text/css">
1622 .rendered_html {color: black;}
1623 .rendered_html em {font-style: italic;}
1624 .rendered_html strong {font-weight: bold;}
1625 .rendered_html u {text-decoration: underline;}
1626 .rendered_html :link { text-decoration: underline }
1627 .rendered_html :visited { text-decoration: underline }
1628 .rendered_html h1 {font-size: 197%; margin: .65em 0; font-weight: bold;}
1629 .rendered_html h2 {font-size: 153.9%; margin: .75em 0; font-weight: bold;}
1630 .rendered_html h3 {font-size: 123.1%; margin: .85em 0; font-weight: bold;}
1631 .rendered_html h4 {font-size: 100% margin: 0.95em 0; font-weight: bold;}
1632 .rendered_html h5 {font-size: 85%; margin: 1.5em 0; font-weight: bold;}
1633 .rendered_html h6 {font-size: 77%; margin: 1.65em 0; font-weight: bold;}
1634 .rendered_html ul {list-style:disc; margin: 1em 2em;}
1635 .rendered_html ul ul {list-style:square; margin: 0em 2em;}
1636 .rendered_html ul ul ul {list-style:circle; margin-left: 0em 2em;}
1637 .rendered_html ol {list-style:upper-roman; margin: 1em 2em;}
1638 .rendered_html ol ol {list-style:upper-alpha; margin: 0em 2em;}
1639 .rendered_html ol ol ol {list-style:decimal; margin: 0em 2em;}
1640 .rendered_html ol ol ol ol {list-style:lower-alpha; margin 0em 2em;}
1641 .rendered_html ol ol ol ol ol {list-style:lower-roman; 0em 2em;}
1642
1643 .rendered_html hr {
1644 color: black;
1645 background-color: black;
1646 }
1647
1648 .rendered_html pre {
1649 margin: 1em 2em;
1650 }
1651
1652 .rendered_html blockquote {
1653 margin: 1em 2em;
1654 }
1655
1656 .rendered_html table {
1657 border: 1px solid black;
1658 border-collapse: collapse;
1659 margin: 1em 2em;
1660 }
1661
1662 .rendered_html td {
1663 border: 1px solid black;
1664 text-align: left;
1665 vertical-align: middle;
1666 padding: 4px;
1667 }
1668
1669 .rendered_html th {
1670 border: 1px solid black;
1671 text-align: left;
1672 vertical-align: middle;
1673 padding: 4px;
1674 font-weight: bold;
1675 }
1676
1677 .rendered_html tr {
1678 border: 1px solid black;
1679 }
1680
1681 .rendered_html p + p {
1682 margin-top: 1em;
1683 }
1684
1685
1686 </style>
1687 <style type="text/css">
1688 /* Overrides of notebook CSS for static HTML export
1689
1690 */
1691 body {
1692 overflow: visible;
1693 padding: 8px;
1694 }
1695 .input_area {
1696 padding: 0.4em;
1697 }
1698
1699 </style>
1700 >>>>>>> A new implementation of reveal converter with jinja templates.
1127 <style type="text/css">
1701 <style type="text/css">
1128 .highlight .hll { background-color: #ffffcc }
1702 .highlight .hll { background-color: #ffffcc }
1129 .highlight { background: #f8f8f8; }
1703 .highlight { background: #f8f8f8; }
@@ -1188,10 +1762,51 b' div.output_prompt {'
1188 .highlight .vi { color: #19177C } /* Name.Variable.Instance */
1762 .highlight .vi { color: #19177C } /* Name.Variable.Instance */
1189 .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
1763 .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
1190 </style>
1764 </style>
1765
1766 <style type="text/css">
1767 /* Overrides of notebook CSS for static HTML export */
1768
1769 .reveal {
1770 font-size: 20px;
1771 }
1772 .reveal pre {
1773 width: 100%;
1774 padding: 0.2em;
1775 margin: 0px auto;
1776 font-family: monospace, sans-serif;
1777 font-size: 60%;
1778 box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
1779 }
1780 .reveal section img {
1781 border: 0px solid black;
1782 box-shadow: 0 0 10px rgba(0, 0, 0, 0);
1783 }
1784 div.input_area {
1785 padding: 0.2em;
1786 }
1787 div.code_cell {
1788 background-color: transparent;
1789 }
1790 div.prompt {
1791 width: 11ex;
1792 padding: 0.0em;
1793 margin: 0px;
1794 font-family: monospace;
1795 font-size: 60%;
1796 text-align: center;
1797 }
1798 div.output_prompt {
1799 /* 5px right shift to account for margin in parent container */
1800 margin: 5px 5px 0 -5px;
1801 }
1802 </style>
1191 </head>
1803 </head>
1804
1192 <body>
1805 <body>
1193 <div class="reveal"><div class="slides">
1806 <div class="reveal"><div class="slides">
1807
1194 <section>
1808 <section>
1809 <section>
1195 <div class="text_cell_render border-box-sizing rendered_html">
1810 <div class="text_cell_render border-box-sizing rendered_html">
1196 <h1>A brief tour of the IPython notebook</h1>
1811 <h1>A brief tour of the IPython notebook</h1>
1197 <p>This document will give you a brief tour of the capabilities of the IPython notebook.<br />
1812 <p>This document will give you a brief tour of the capabilities of the IPython notebook.<br />
@@ -1202,8 +1817,8 b' system.<br />'
1202 </p>
1817 </p>
1203 <p>The rest of the notebooks in this directory illustrate various other aspects and
1818 <p>The rest of the notebooks in this directory illustrate various other aspects and
1204 capabilities of the IPython notebook; some of them may require additional libraries to be executed.</p>
1819 capabilities of the IPython notebook; some of them may require additional libraries to be executed.</p>
1205 </div>
1820 </div><aside class="notes">
1206 <aside class="notes">
1821
1207 <div class="text_cell_render border-box-sizing rendered_html">
1822 <div class="text_cell_render border-box-sizing rendered_html">
1208 <p><strong>NOTE:</strong> This notebook <em>must</em> be run from its own directory, so you must <code>cd</code>
1823 <p><strong>NOTE:</strong> This notebook <em>must</em> be run from its own directory, so you must <code>cd</code>
1209 to this directory and then start the notebook, but do <em>not</em> use the <code>--notebook-dir</code>
1824 to this directory and then start the notebook, but do <em>not</em> use the <code>--notebook-dir</code>
@@ -1211,9 +1826,9 b' option to run it from another location.</p>'
1211 <p>The first thing you need to know is that you are still controlling the same old IPython you're used to,
1826 <p>The first thing you need to know is that you are still controlling the same old IPython you're used to,
1212 so things like shell aliases and magic commands still work:</p>
1827 so things like shell aliases and magic commands still work:</p>
1213 </div>
1828 </div>
1214 </aside>
1829 </aside></section>
1215 </section>
1830 </section><section>
1216 <section>
1831 <section>
1217 <div class="cell border-box-sizing code_cell vbox">
1832 <div class="cell border-box-sizing code_cell vbox">
1218 <div class="input hbox">
1833 <div class="input hbox">
1219 <div class="prompt input_prompt">In&nbsp;[1]:</div>
1834 <div class="prompt input_prompt">In&nbsp;[1]:</div>
@@ -1223,11 +1838,15 b' so things like shell aliases and magic commands still work:</p>'
1223
1838
1224 </div>
1839 </div>
1225 </div>
1840 </div>
1226 <div class="vbox output_wrapper">
1841 <div class="output_wrapper">
1227 <div class="output vbox">
1842 <div class="output vbox">
1843 <div class="prompt output_prompt">
1844 <div class="output vbox">Out[1]:</div>
1845 </div>
1228 <div class="hbox output_area">
1846 <div class="hbox output_area">
1229 <div class="prompt output_prompt">Out[1]:</div>
1847 <div class="prompt"></div>
1230 <div class="output_subarea output_pyout">
1848 <div class="box-flex1 output_subarea output_pyout">
1849
1231 <pre>u&apos;/Users/minrk/dev/ip/mine/docs/examples/notebooks&apos;</pre>
1850 <pre>u&apos;/Users/minrk/dev/ip/mine/docs/examples/notebooks&apos;</pre>
1232 </div>
1851 </div>
1233 </div>
1852 </div>
@@ -1243,11 +1862,14 b' so things like shell aliases and magic commands still work:</p>'
1243
1862
1244 </div>
1863 </div>
1245 </div>
1864 </div>
1246 <div class="vbox output_wrapper">
1865 <div class="output_wrapper">
1247 <div class="output vbox">
1866 <div class="output vbox">
1867 <div class="prompt output_prompt">
1868 <div class="output vbox"></div>
1869 </div>
1248 <div class="hbox output_area">
1870 <div class="hbox output_area">
1249 <div class="prompt output_prompt"></div>
1871 <div class="prompt"></div>
1250 <div class="output_subarea output_stream output_stdout">
1872 <div class="box-flex1 output_subarea output_stream output_stdout">
1251 <pre>00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
1873 <pre>00_notebook_tour.ipynb callbacks.ipynb python-logo.svg
1252 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
1874 01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb
1253 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
1875 Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb
@@ -1271,26 +1893,29 b' animation.m4v progbar.ipynb'
1271
1893
1272 </div>
1894 </div>
1273 </div>
1895 </div>
1274 <div class="vbox output_wrapper">
1896 <div class="output_wrapper">
1275 <div class="output vbox">
1897 <div class="output vbox">
1898 <div class="prompt output_prompt">
1899 <div class="output vbox"></div>
1900 </div>
1276 <div class="hbox output_area">
1901 <div class="hbox output_area">
1277 <div class="prompt output_prompt"></div>
1902 <div class="prompt"></div>
1278 <div class="output_subarea output_stream output_stdout">
1903 <div class="box-flex1 output_subarea output_stream output_stdout">
1279 <pre>The IPython notebook is great!
1904 <pre>The IPython notebook is great!
1280 </pre>
1905 </pre>
1281 </div>
1906 </div>
1282 </div>
1907 </div>
1283 </div>
1908 </div>
1284 </div>
1909 </div>
1285 </div>
1910 </div></section>
1286 </section>
1911 </section><section>
1287 <section>
1912 <section>
1288 <section>
1289 <div class="text_cell_render border-box-sizing rendered_html">
1913 <div class="text_cell_render border-box-sizing rendered_html">
1290 <h2>
1914 <h2>
1291 Plots with matplotlib
1915 Plots with matplotlib
1292 </h2>
1916 </h2>
1293 </div>
1917 </div>
1918
1294 <div class="text_cell_render border-box-sizing rendered_html">
1919 <div class="text_cell_render border-box-sizing rendered_html">
1295 <p>IPython adds an 'inline' matplotlib backend,
1920 <p>IPython adds an 'inline' matplotlib backend,
1296 which embeds any matplotlib figures into the notebook.</p>
1921 which embeds any matplotlib figures into the notebook.</p>
@@ -1304,11 +1929,14 b' which embeds any matplotlib figures into the notebook.</p>'
1304
1929
1305 </div>
1930 </div>
1306 </div>
1931 </div>
1307 <div class="vbox output_wrapper">
1932 <div class="output_wrapper">
1308 <div class="output vbox">
1933 <div class="output vbox">
1934 <div class="prompt output_prompt">
1935 <div class="output vbox"></div>
1936 </div>
1309 <div class="hbox output_area">
1937 <div class="hbox output_area">
1310 <div class="prompt output_prompt"></div>
1938 <div class="prompt"></div>
1311 <div class="output_subarea output_stream output_stdout">
1939 <div class="box-flex1 output_subarea output_stream output_stdout">
1312 <pre>
1940 <pre>
1313 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
1941 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
1314 For more information, type &apos;help(pylab)&apos;.
1942 For more information, type &apos;help(pylab)&apos;.
@@ -1329,11 +1957,15 b' For more information, type &apos;help(pylab)&apos;.'
1329
1957
1330 </div>
1958 </div>
1331 </div>
1959 </div>
1332 <div class="vbox output_wrapper">
1960 <div class="output_wrapper">
1333 <div class="output vbox">
1961 <div class="output vbox">
1962 <div class="prompt output_prompt">
1963 <div class="output vbox"></div>
1964 </div>
1334 <div class="hbox output_area">
1965 <div class="hbox output_area">
1335 <div class="prompt output_prompt"></div>
1966 <div class="prompt"></div>
1336 <div class="output_subarea output_display_data">
1967 <div class="box-flex1 output_subarea output_display_data">
1968
1337 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
1969 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
1338 AAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c
1970 AAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c
1339 q1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH
1971 q1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH
@@ -1693,8 +2325,7 b' kL6BgYHBGML/B3suibfww4xPAAAAAElFTkSuQmCC'
1693 </div>
2325 </div>
1694 </div>
2326 </div>
1695 </div>
2327 </div>
1696 </div>
2328 </div></section><section>
1697 </section><section>
1698 <div class="text_cell_render border-box-sizing rendered_html">
2329 <div class="text_cell_render border-box-sizing rendered_html">
1699 <p>You can paste blocks of input with prompt markers, such as those from
2330 <p>You can paste blocks of input with prompt markers, such as those from
1700 <a href="http://docs.python.org/tutorial/interpreter.html#interactive-mode">the official Python tutorial</a></p>
2331 <a href="http://docs.python.org/tutorial/interpreter.html#interactive-mode">the official Python tutorial</a></p>
@@ -1710,19 +2341,21 b' kL6BgYHBGML/B3suibfww4xPAAAAAElFTkSuQmCC'
1710
2341
1711 </div>
2342 </div>
1712 </div>
2343 </div>
1713 <div class="vbox output_wrapper">
2344 <div class="output_wrapper">
1714 <div class="output vbox">
2345 <div class="output vbox">
2346 <div class="prompt output_prompt">
2347 <div class="output vbox"></div>
2348 </div>
1715 <div class="hbox output_area">
2349 <div class="hbox output_area">
1716 <div class="prompt output_prompt"></div>
2350 <div class="prompt"></div>
1717 <div class="output_subarea output_stream output_stdout">
2351 <div class="box-flex1 output_subarea output_stream output_stdout">
1718 <pre>Be careful not to fall off!
2352 <pre>Be careful not to fall off!
1719 </pre>
2353 </pre>
1720 </div>
2354 </div>
1721 </div>
2355 </div>
1722 </div>
2356 </div>
1723 </div>
2357 </div>
1724 </div>
2358 </div></section><section>
1725 </section><section>
1726 <div class="text_cell_render border-box-sizing rendered_html">
2359 <div class="text_cell_render border-box-sizing rendered_html">
1727 <p>Errors are shown in informative ways:</p>
2360 <p>Errors are shown in informative ways:</p>
1728 </div>
2361 </div>
@@ -1735,11 +2368,14 b' kL6BgYHBGML/B3suibfww4xPAAAAAElFTkSuQmCC'
1735
2368
1736 </div>
2369 </div>
1737 </div>
2370 </div>
1738 <div class="vbox output_wrapper">
2371 <div class="output_wrapper">
1739 <div class="output vbox">
2372 <div class="output vbox">
2373 <div class="prompt output_prompt">
2374 <div class="output vbox"></div>
2375 </div>
1740 <div class="hbox output_area">
2376 <div class="hbox output_area">
1741 <div class="prompt output_prompt"></div>
2377 <div class="prompt"></div>
1742 <div class="output_subarea output_stream output_stderr">
2378 <div class="box-flex1 output_subarea output_stream output_stderr">
1743 <pre>ERROR: File &#96;u&apos;non_existent_file.py&apos;&#96; not found.</pre>
2379 <pre>ERROR: File &#96;u&apos;non_existent_file.py&apos;&#96; not found.</pre>
1744 </div>
2380 </div>
1745 </div>
2381 </div>
@@ -1757,12 +2393,16 b' kL6BgYHBGML/B3suibfww4xPAAAAAElFTkSuQmCC'
1757
2393
1758 </div>
2394 </div>
1759 </div>
2395 </div>
1760 <div class="vbox output_wrapper">
2396 <div class="output_wrapper">
1761 <div class="output vbox">
2397 <div class="output vbox">
2398 <div class="prompt output_prompt">
2399 <div class="output vbox"></div>
2400 </div>
1762 <div class="hbox output_area">
2401 <div class="hbox output_area">
1763 <div class="prompt output_prompt"></div>
2402 <div class="prompt"></div>
1764 <div class="output_subarea output_pyerr">
2403 <div class="box-flex1 output_subarea output_pyerr">
1765 <pre><span class="ansired">---------------------------------------------------------------------------</span>
2404 <pre>
2405 <span class="ansired">---------------------------------------------------------------------------</span>
1766 <span class="ansired">ZeroDivisionError</span> Traceback (most recent call last)
2406 <span class="ansired">ZeroDivisionError</span> Traceback (most recent call last)
1767 <span class="ansigreen">&lt;ipython-input-8-dc39888fd1d2&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
2407 <span class="ansigreen">&lt;ipython-input-8-dc39888fd1d2&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
1768 <span class="ansigreen"> 1</span> x <span class="ansiyellow">=</span> <span class="ansicyan">1</span><span class="ansiyellow"></span>
2408 <span class="ansigreen"> 1</span> x <span class="ansiyellow">=</span> <span class="ansicyan">1</span><span class="ansiyellow"></span>
@@ -1774,13 +2414,13 b' kL6BgYHBGML/B3suibfww4xPAAAAAElFTkSuQmCC'
1774 </div>
2414 </div>
1775 </div>
2415 </div>
1776 </div>
2416 </div>
1777 </div>
2417 </div></section><section>
1778 </section><section>
1779 <div class="text_cell_render border-box-sizing rendered_html">
2418 <div class="text_cell_render border-box-sizing rendered_html">
1780 <p>When IPython needs to display additional information (such as providing details on an object via <code>x?</code>
2419 <p>When IPython needs to display additional information (such as providing details on an object via <code>x?</code>
1781 it will automatically invoke a pager at the bottom of the screen:</p>
2420 it will automatically invoke a pager at the bottom of the screen:</p>
1782 </div>
2421 </div><div class="fragment">
1783 <div class="fragment" class="cell border-box-sizing code_cell vbox">
2422
2423 <div class="cell border-box-sizing code_cell vbox">
1784 <div class="input hbox">
2424 <div class="input hbox">
1785 <div class="prompt input_prompt">In&nbsp;[18]:</div>
2425 <div class="prompt input_prompt">In&nbsp;[18]:</div>
1786 <div class="input_area box-flex1">
2426 <div class="input_area box-flex1">
@@ -1790,9 +2430,9 b' it will automatically invoke a pager at the bottom of the screen:</p>'
1790 </div>
2430 </div>
1791 </div>
2431 </div>
1792 </div>
2432 </div>
1793 </section>
2433 </div></section>
1794 </section>
2434 </section><section>
1795 <section>
2435 <section>
1796 <div class="text_cell_render border-box-sizing rendered_html">
2436 <div class="text_cell_render border-box-sizing rendered_html">
1797 <h2>Non-blocking output of kernel</h2>
2437 <h2>Non-blocking output of kernel</h2>
1798 <p>If you execute the next cell, you will see the output arriving as it is generated, not all at the end.</p>
2438 <p>If you execute the next cell, you will see the output arriving as it is generated, not all at the end.</p>
@@ -1809,20 +2449,23 b' it will automatically invoke a pager at the bottom of the screen:</p>'
1809
2449
1810 </div>
2450 </div>
1811 </div>
2451 </div>
1812 <div class="vbox output_wrapper">
2452 <div class="output_wrapper">
1813 <div class="output vbox">
2453 <div class="output vbox">
2454 <div class="prompt output_prompt">
2455 <div class="output vbox"></div>
2456 </div>
1814 <div class="hbox output_area">
2457 <div class="hbox output_area">
1815 <div class="prompt output_prompt"></div>
2458 <div class="prompt"></div>
1816 <div class="output_subarea output_stream output_stdout">
2459 <div class="box-flex1 output_subarea output_stream output_stdout">
1817 <pre>0 1 2 3 4 5 6 7
2460 <pre>0 1 2 3 4 5 6 7
1818 </pre>
2461 </pre>
1819 </div>
2462 </div>
1820 </div>
2463 </div>
1821 </div>
2464 </div>
1822 </div>
2465 </div>
1823 </div>
2466 </div></section>
1824 </section>
2467 </section><section>
1825 <section>
2468 <section>
1826 <div class="text_cell_render border-box-sizing rendered_html">
2469 <div class="text_cell_render border-box-sizing rendered_html">
1827 <h2>Clean crash and restart</h2>
2470 <h2>Clean crash and restart</h2>
1828 <p>We call the low-level system libc.time routine with the wrong argument via
2471 <p>We call the low-level system libc.time routine with the wrong argument via
@@ -1842,10 +2485,9 b' ctypes to segfault the Python interpreter:</p>'
1842
2485
1843 </div>
2486 </div>
1844 </div>
2487 </div>
1845 </div>
2488 </div></section>
1846 </section>
2489 </section><section>
1847 <section>
2490 <section>
1848 <section>
1849 <div class="text_cell_render border-box-sizing rendered_html">
2491 <div class="text_cell_render border-box-sizing rendered_html">
1850 <h2>Markdown cells can contain formatted text and code</h2>
2492 <h2>Markdown cells can contain formatted text and code</h2>
1851 <p>You can <em>italicize</em>, <strong>boldface</strong></p>
2493 <p>You can <em>italicize</em>, <strong>boldface</strong></p>
@@ -1864,17 +2506,14 b' ctypes to segfault the Python interpreter:</p>'
1864 x += 4;
2506 x += 4;
1865 }
2507 }
1866 </code></pre>
2508 </code></pre>
1867 </div>
2509 </div></section><section>
1868 </section><section>
1869 <div class="text_cell_render border-box-sizing rendered_html">
2510 <div class="text_cell_render border-box-sizing rendered_html">
1870 <p>Courtesy of MathJax, you can include mathematical expressions both inline:
2511 <p>Courtesy of MathJax, you can include mathematical expressions both inline:
1871 $e^{i\pi} + 1 = 0$ and displayed:</p>
2512 $e^{i\pi} + 1 = 0$ and displayed:</p>
1872 <p>$$e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$$</p>
2513 <p>$$e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$$</p>
1873 </div>
2514 </div></section>
1874 </section>
2515 </section><section>
1875 </section>
2516 <section>
1876 <section>
1877 <section>
1878 <div class="text_cell_render border-box-sizing rendered_html">
2517 <div class="text_cell_render border-box-sizing rendered_html">
1879 <h2>Rich displays: include anyting a browser can show</h2>
2518 <h2>Rich displays: include anyting a browser can show</h2>
1880 <p>Note that we have an actual protocol for this, see the <code>display_protocol</code> notebook for further details.</p>
2519 <p>Note that we have an actual protocol for this, see the <code>display_protocol</code> notebook for further details.</p>
@@ -1890,11 +2529,15 b' $e^{i\\pi} + 1 = 0$ and displayed:</p>'
1890
2529
1891 </div>
2530 </div>
1892 </div>
2531 </div>
1893 <div class="vbox output_wrapper">
2532 <div class="output_wrapper">
1894 <div class="output vbox">
2533 <div class="output vbox">
2534 <div class="prompt output_prompt">
2535 <div class="output vbox">Out[1]:</div>
2536 </div>
1895 <div class="hbox output_area">
2537 <div class="hbox output_area">
1896 <div class="prompt output_prompt">Out[1]:</div>
2538 <div class="prompt"></div>
1897 <div class="output_subarea output_pyout">
2539 <div class="box-flex1 output_subarea output_pyout">
2540
1898 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAABDCAYAAAD5/P3lAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
2541 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAABDCAYAAAD5/P3lAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
1899 AAAH3AAAB9wBYvxo6AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURB
2542 AAAH3AAAB9wBYvxo6AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURB
1900 VHic7Z15uBxF1bjfugkJhCWBsCSAJGACNg4QCI3RT1lEAVE+UEBNOmwCDcjHT1wQgU+WD3dFxA1o
2543 VHic7Z15uBxF1bjfugkJhCWBsCSAJGACNg4QCI3RT1lEAVE+UEBNOmwCDcjHT1wQgU+WD3dFxA1o
@@ -2062,8 +2705,7 b' HMRRca/E5hVINNIVwI2B56z6/3ExLRI31pXNAAAAAElFTkSuQmCC'
2062 </div>
2705 </div>
2063 </div>
2706 </div>
2064 </div>
2707 </div>
2065 </div>
2708 </div></section><section>
2066 </section><section>
2067 <div class="text_cell_render border-box-sizing rendered_html">
2709 <div class="text_cell_render border-box-sizing rendered_html">
2068 <p>An image can also be displayed from raw data or a url</p>
2710 <p>An image can also be displayed from raw data or a url</p>
2069 </div>
2711 </div>
@@ -2076,21 +2718,29 b' HMRRca/E5hVINNIVwI2B56z6/3ExLRI31pXNAAAAAElFTkSuQmCC'
2076
2718
2077 </div>
2719 </div>
2078 </div>
2720 </div>
2079 <div class="vbox output_wrapper">
2721 <div class="output_wrapper">
2080 <div class="output vbox">
2722 <div class="output vbox">
2723 <div class="prompt output_prompt">
2724 <div class="output vbox">Out[2]:</div>
2725 </div>
2081 <div class="hbox output_area">
2726 <div class="hbox output_area">
2082 <div class="prompt output_prompt">Out[2]:</div>
2727 <div class="prompt"></div>
2083 <div class="output_subarea output_pyout output_html rendered_html">
2728 <div class="box-flex1 output_subarea output_pyout">
2729 <div class="output_html rendered_html">
2084 <img src="http://python.org/images/python-logo.gif" />
2730 <img src="http://python.org/images/python-logo.gif" />
2085 </div>
2731 </div>
2086 </div>
2732 </div>
2087 </div>
2733 </div>
2088 </div>
2734 </div>
2089 </div>
2735 </div>
2090 <div style=display:none class="text_cell_render border-box-sizing rendered_html">
2736 </div><div style=display:none>
2737
2738 <div class="text_cell_render border-box-sizing rendered_html">
2091 <p>SVG images are also supported out of the box (since modern browsers do a good job of rendering them):</p>
2739 <p>SVG images are also supported out of the box (since modern browsers do a good job of rendering them):</p>
2092 </div>
2740 </div>
2093 <div style=display:none class="cell border-box-sizing code_cell vbox">
2741 </div><div style=display:none>
2742
2743 <div class="cell border-box-sizing code_cell vbox">
2094 <div class="input hbox">
2744 <div class="input hbox">
2095 <div class="prompt input_prompt">In&nbsp;[3]:</div>
2745 <div class="prompt input_prompt">In&nbsp;[3]:</div>
2096 <div class="input_area box-flex1">
2746 <div class="input_area box-flex1">
@@ -2100,11 +2750,14 b' HMRRca/E5hVINNIVwI2B56z6/3ExLRI31pXNAAAAAElFTkSuQmCC'
2100
2750
2101 </div>
2751 </div>
2102 </div>
2752 </div>
2103 <div class="vbox output_wrapper">
2753 <div class="output_wrapper">
2104 <div class="output vbox">
2754 <div class="output vbox">
2755 <div class="prompt output_prompt">
2756 <div class="output vbox">Out[3]:</div>
2757 </div>
2105 <div class="hbox output_area">
2758 <div class="hbox output_area">
2106 <div class="prompt output_prompt">Out[3]:</div>
2759 <div class="prompt"></div>
2107 <div class="output_subarea output_pyout">
2760 <div class="box-flex1 output_subarea output_pyout">
2108 <svg height="115.02pt" id="svg2" inkscape:version="0.43" sodipodi:docbase="/home/sdeibel" sodipodi:docname="logo-python-generic.svg" sodipodi:version="0.32" version="1.0" width="388.84pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2761 <svg height="115.02pt" id="svg2" inkscape:version="0.43" sodipodi:docbase="/home/sdeibel" sodipodi:docname="logo-python-generic.svg" sodipodi:version="0.32" version="1.0" width="388.84pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2109 <metadata id="metadata2193">
2762 <metadata id="metadata2193">
2110 <rdf:RDF>
2763 <rdf:RDF>
@@ -2171,10 +2824,9 b' HMRRca/E5hVINNIVwI2B56z6/3ExLRI31pXNAAAAAElFTkSuQmCC'
2171 </div>
2824 </div>
2172 </div>
2825 </div>
2173 </div>
2826 </div>
2174 </section>
2827 </div></section>
2175 </section>
2828 </section><section>
2176 <section>
2829 <section>
2177 <section>
2178 <div class="text_cell_render border-box-sizing rendered_html">
2830 <div class="text_cell_render border-box-sizing rendered_html">
2179 <h4>Embedded vs Non-embedded Images</h4>
2831 <h4>Embedded vs Non-embedded Images</h4>
2180 </div>
2832 </div>
@@ -2198,8 +2850,7 b' HMRRca/E5hVINNIVwI2B56z6/3ExLRI31pXNAAAAAElFTkSuQmCC'
2198
2850
2199 </div>
2851 </div>
2200 </div>
2852 </div>
2201 </div>
2853 </div></section><section>
2202 </section><section>
2203 <div class="text_cell_render border-box-sizing rendered_html">
2854 <div class="text_cell_render border-box-sizing rendered_html">
2204 <p>Today's image from a webcam at Berkeley, (at the time I created this notebook). This should also work in the Qtconsole.
2855 <p>Today's image from a webcam at Berkeley, (at the time I created this notebook). This should also work in the Qtconsole.
2205 Drawback is that the saved notebook will be larger, but the image will still be present offline.</p>
2856 Drawback is that the saved notebook will be larger, but the image will still be present offline.</p>
@@ -2213,11 +2864,15 b' Drawback is that the saved notebook will be larger, but the image will still be '
2213
2864
2214 </div>
2865 </div>
2215 </div>
2866 </div>
2216 <div class="vbox output_wrapper">
2867 <div class="output_wrapper">
2217 <div class="output vbox">
2868 <div class="output vbox">
2869 <div class="prompt output_prompt">
2870 <div class="output vbox">Out[5]:</div>
2871 </div>
2218 <div class="hbox output_area">
2872 <div class="hbox output_area">
2219 <div class="prompt output_prompt">Out[5]:</div>
2873 <div class="prompt"></div>
2220 <div class="output_subarea output_pyout">
2874 <div class="box-flex1 output_subarea output_pyout">
2875
2221 <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAtAC0AAD//gAdQ29weXJpZ2h0IDIwMTIgVS5DLiBSZWdlbnRz/+Ef/kV4
2876 <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAtAC0AAD//gAdQ29weXJpZ2h0IDIwMTIgVS5DLiBSZWdlbnRz/+Ef/kV4
2222 aWYAAElJKgAIAAAACgAOAQIAIAAAAIYAAAAPAQIABgAAAKYAAAAQAQIAFAAAAKwAAAASAQMAAQAA
2877 aWYAAElJKgAIAAAACgAOAQIAIAAAAIYAAAAPAQIABgAAAKYAAAAQAQIAFAAAAKwAAAASAQMAAQAA
2223 AAEAAAAaAQUAAQAAAMwAAAAbAQUAAQAAANQAAAAoAQMAAQAAAAIAAAAyAQIAFAAAANwAAAATAgMA
2878 AAEAAAAaAQUAAQAAAMwAAAAbAQUAAQAAANQAAAAoAQMAAQAAAAIAAAAyAQIAFAAAANwAAAATAgMA
@@ -3416,8 +4071,7 b' iCexrNEssiuIRldxwPzrVLcxNEI8+g474/zFc3F2CidRLiNFyPXFBYQqgNKFOfw1pPRTStwsP4ZC'
3416 </div>
4071 </div>
3417 </div>
4072 </div>
3418 </div>
4073 </div>
3419 </div>
4074 </div></section><section>
3420 </section><section>
3421 <div class="text_cell_render border-box-sizing rendered_html">
4075 <div class="text_cell_render border-box-sizing rendered_html">
3422 <p>Today's image from same webcam at Berkeley, (refreshed every minutes, if you reload the notebook), visible only with an active internet connexion, that should be different from the previous one. This will not work on Qtconsole.
4076 <p>Today's image from same webcam at Berkeley, (refreshed every minutes, if you reload the notebook), visible only with an active internet connexion, that should be different from the previous one. This will not work on Qtconsole.
3423 Notebook saved with this kind of image will be lighter and always reflect the current version of the source, but the image won't display offline.</p>
4077 Notebook saved with this kind of image will be lighter and always reflect the current version of the source, but the image won't display offline.</p>
@@ -3431,23 +4085,29 b' Notebook saved with this kind of image will be lighter and always reflect the cu'
3431
4085
3432 </div>
4086 </div>
3433 </div>
4087 </div>
3434 <div class="vbox output_wrapper">
4088 <div class="output_wrapper">
3435 <div class="output vbox">
4089 <div class="output vbox">
4090 <div class="prompt output_prompt">
4091 <div class="output vbox">Out[6]:</div>
4092 </div>
3436 <div class="hbox output_area">
4093 <div class="hbox output_area">
3437 <div class="prompt output_prompt">Out[6]:</div>
4094 <div class="prompt"></div>
3438 <div class="output_subarea output_pyout output_html rendered_html">
4095 <div class="box-flex1 output_subarea output_pyout">
4096 <div class="output_html rendered_html">
3439 <img src="http://scienceview.berkeley.edu/view/images/newview.jpg" />
4097 <img src="http://scienceview.berkeley.edu/view/images/newview.jpg" />
3440 </div>
4098 </div>
3441 </div>
4099 </div>
3442 </div>
4100 </div>
3443 </div>
4101 </div>
3444 </div>
4102 </div>
3445 <div style=display:none class="text_cell_render border-box-sizing rendered_html">
4103 </div><div style=display:none>
4104
4105 <div class="text_cell_render border-box-sizing rendered_html">
3446 <p>Of course, if you re-run the all notebook, the two images will be the same again.</p>
4106 <p>Of course, if you re-run the all notebook, the two images will be the same again.</p>
3447 </div>
4107 </div>
3448 </section>
4108 </div></section>
3449 </section>
4109 </section><section>
3450 <section>
4110 <section>
3451 <div class="text_cell_render border-box-sizing rendered_html">
4111 <div class="text_cell_render border-box-sizing rendered_html">
3452 <h3>Video</h3>
4112 <h3>Video</h3>
3453 </div>
4113 </div>
@@ -3469,11 +4129,15 b' hosted content is trivial):</p>'
3469
4129
3470 </div>
4130 </div>
3471 </div>
4131 </div>
3472 <div class="vbox output_wrapper">
4132 <div class="output_wrapper">
3473 <div class="output vbox">
4133 <div class="output vbox">
4134 <div class="prompt output_prompt">
4135 <div class="output vbox">Out[7]:</div>
4136 </div>
3474 <div class="hbox output_area">
4137 <div class="hbox output_area">
3475 <div class="prompt output_prompt">Out[7]:</div>
4138 <div class="prompt"></div>
3476 <div class="output_subarea output_pyout output_html rendered_html">
4139 <div class="box-flex1 output_subarea output_pyout">
4140 <div class="output_html rendered_html">
3477
4141
3478 <iframe
4142 <iframe
3479 width="400"
4143 width="400"
@@ -3488,7 +4152,9 b' hosted content is trivial):</p>'
3488 </div>
4152 </div>
3489 </div>
4153 </div>
3490 </div>
4154 </div>
3491 <div style=display:none class="text_cell_render border-box-sizing rendered_html">
4155 </div><div style=display:none>
4156
4157 <div class="text_cell_render border-box-sizing rendered_html">
3492 <p>Using the nascent video capabilities of modern browsers, you may also be able to display local
4158 <p>Using the nascent video capabilities of modern browsers, you may also be able to display local
3493 videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;
4159 videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;
3494 we will continue testing this and looking for ways to make it more robust.<br />
4160 we will continue testing this and looking for ways to make it more robust.<br />
@@ -3497,7 +4163,9 b' we will continue testing this and looking for ways to make it more robust.<br />'
3497 transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control
4163 transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control
3498 bar at the bottom with a play/pause button and a location slider.</p>
4164 bar at the bottom with a play/pause button and a location slider.</p>
3499 </div>
4165 </div>
3500 <div style=display:none class="cell border-box-sizing code_cell vbox">
4166 </div><div style=display:none>
4167
4168 <div class="cell border-box-sizing code_cell vbox">
3501 <div class="input hbox">
4169 <div class="input hbox">
3502 <div class="prompt input_prompt">In&nbsp;[8]:</div>
4170 <div class="prompt input_prompt">In&nbsp;[8]:</div>
3503 <div class="input_area box-flex1">
4171 <div class="input_area box-flex1">
@@ -3510,11 +4178,15 b' bar at the bottom with a play/pause button and a location slider.</p>'
3510
4178
3511 </div>
4179 </div>
3512 </div>
4180 </div>
3513 <div class="vbox output_wrapper">
4181 <div class="output_wrapper">
3514 <div class="output vbox">
4182 <div class="output vbox">
4183 <div class="prompt output_prompt">
4184 <div class="output vbox">Out[8]:</div>
4185 </div>
3515 <div class="hbox output_area">
4186 <div class="hbox output_area">
3516 <div class="prompt output_prompt">Out[8]:</div>
4187 <div class="prompt"></div>
3517 <div class="output_subarea output_pyout output_html rendered_html">
4188 <div class="box-flex1 output_subarea output_pyout">
4189 <div class="output_html rendered_html">
3518 <video controls alt="test" src="data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9
4190 <video controls alt="test" src="data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9
3519 5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv
4191 5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv
3520 cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w
4192 cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w
@@ -3730,8 +4402,10 b' AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA='
3730 </div>
4402 </div>
3731 </div>
4403 </div>
3732 </div>
4404 </div>
3733 </section>
4405 </div>
3734 <section>
4406 </div></section>
4407 </section><section>
4408 <section>
3735 <div class="text_cell_render border-box-sizing rendered_html">
4409 <div class="text_cell_render border-box-sizing rendered_html">
3736 <h2>Local Files</h2>
4410 <h2>Local Files</h2>
3737 <p>The above examples embed images and video from the notebook filesystem in the output
4411 <p>The above examples embed images and video from the notebook filesystem in the output
@@ -3739,8 +4413,9 b' areas of code cells. It is also possible to request these files directly in mar'
3739 if they reside in the notebook directory via relative urls prefixed with <code>files/</code>:</p>
4413 if they reside in the notebook directory via relative urls prefixed with <code>files/</code>:</p>
3740 <pre><code>files/[subdirectory/]&lt;filename&gt;
4414 <pre><code>files/[subdirectory/]&lt;filename&gt;
3741 </code></pre>
4415 </code></pre>
3742 </div>
4416 </div><div style=display:none>
3743 <div style=display:none class="text_cell_render border-box-sizing rendered_html">
4417
4418 <div class="text_cell_render border-box-sizing rendered_html">
3744 <p>For example, in the example notebook folder, we have the Python logo, addressed as:</p>
4419 <p>For example, in the example notebook folder, we have the Python logo, addressed as:</p>
3745 <pre><code>&lt;img src="files/python-logo.svg" /&gt;
4420 <pre><code>&lt;img src="files/python-logo.svg" /&gt;
3746 </code></pre>
4421 </code></pre>
@@ -3764,9 +4439,9 b' directory at a high level in your filesystem (e.g. your home directory).'
3764 When you run the notebook in a password-protected manner, local file access is restricted
4439 When you run the notebook in a password-protected manner, local file access is restricted
3765 to authenticated users unless read-only views are active.
4440 to authenticated users unless read-only views are active.
3766 </div>
4441 </div>
3767 </section>
4442 </div></section>
3768 <section>
4443 </section><section>
3769 <section>
4444 <section>
3770 <div class="text_cell_render border-box-sizing rendered_html">
4445 <div class="text_cell_render border-box-sizing rendered_html">
3771 <h2>Linking to files and directories for viewing in the browser</h2>
4446 <h2>Linking to files and directories for viewing in the browser</h2>
3772 <p>It is also possible to link directly to files or directories so they can be opened in the browser. This is especially convenient if you're interacting with a tool within IPython that generates HTML pages, and you'd like to easily be able to open those in a new browser window. Alternatively, if your IPython notebook server is on a remote system, creating links provides an easy way to download any files that get generated.</p>
4447 <p>It is also possible to link directly to files or directories so they can be opened in the browser. This is especially convenient if you're interacting with a tool within IPython that generates HTML pages, and you'd like to easily be able to open those in a new browser window. Alternatively, if your IPython notebook server is on a remote system, creating links provides an easy way to download any files that get generated.</p>
@@ -3781,11 +4456,14 b' to authenticated users unless read-only views are active.'
3781
4456
3782 </div>
4457 </div>
3783 </div>
4458 </div>
3784 <div class="vbox output_wrapper">
4459 <div class="output_wrapper">
3785 <div class="output vbox">
4460 <div class="output vbox">
4461 <div class="prompt output_prompt">
4462 <div class="output vbox"></div>
4463 </div>
3786 <div class="hbox output_area">
4464 <div class="hbox output_area">
3787 <div class="prompt output_prompt"></div>
4465 <div class="prompt"></div>
3788 <div class="output_subarea output_stream output_stdout">
4466 <div class="box-flex1 output_subarea output_stream output_stdout">
3789 <pre>00_notebook_tour.ipynb formatting.ipynb
4467 <pre>00_notebook_tour.ipynb formatting.ipynb
3790 01_notebook_introduction.ipynb octavemagic_extension.ipynb
4468 01_notebook_introduction.ipynb octavemagic_extension.ipynb
3791 Animations_and_Progress.ipynb publish_data.ipynb
4469 Animations_and_Progress.ipynb publish_data.ipynb
@@ -3799,8 +4477,7 b' display_protocol.ipynb trapezoid_rule.ipynb'
3799 </div>
4477 </div>
3800 </div>
4478 </div>
3801 </div>
4479 </div>
3802 </div>
4480 </div></section><section>
3803 </section><section>
3804 <div class="text_cell_render border-box-sizing rendered_html">
4481 <div class="text_cell_render border-box-sizing rendered_html">
3805 <p>If we want to create a link to one of them, we can call use the <code>FileLink</code> object.</p>
4482 <p>If we want to create a link to one of them, we can call use the <code>FileLink</code> object.</p>
3806 </div>
4483 </div>
@@ -3814,18 +4491,22 b' display_protocol.ipynb trapezoid_rule.ipynb'
3814
4491
3815 </div>
4492 </div>
3816 </div>
4493 </div>
3817 <div class="vbox output_wrapper">
4494 <div class="output_wrapper">
3818 <div class="output vbox">
4495 <div class="output vbox">
4496 <div class="prompt output_prompt">
4497 <div class="output vbox">Out[2]:</div>
4498 </div>
3819 <div class="hbox output_area">
4499 <div class="hbox output_area">
3820 <div class="prompt output_prompt">Out[2]:</div>
4500 <div class="prompt"></div>
3821 <div class="output_subarea output_pyout output_html rendered_html">
4501 <div class="box-flex1 output_subarea output_pyout">
4502 <div class="output_html rendered_html">
3822 <a href='files/00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
4503 <a href='files/00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
3823 </div>
4504 </div>
3824 </div>
4505 </div>
3825 </div>
4506 </div>
3826 </div>
4507 </div>
3827 </div>
4508 </div>
3828 </section><section>
4509 </div></section><section>
3829 <div class="text_cell_render border-box-sizing rendered_html">
4510 <div class="text_cell_render border-box-sizing rendered_html">
3830 <p>Alternatively, if we want to link to all of them, we can use the <code>FileLinks</code> object, passing <code>'.'</code> to indicate that we want links generated for the current working directory. Note that if there were other directories under the current directory, <code>FileLinks</code> would work in a recursive manner creating links to files in all sub-directories as well.</p>
4511 <p>Alternatively, if we want to link to all of them, we can use the <code>FileLinks</code> object, passing <code>'.'</code> to indicate that we want links generated for the current working directory. Note that if there were other directories under the current directory, <code>FileLinks</code> would work in a recursive manner creating links to files in all sub-directories as well.</p>
3831 </div>
4512 </div>
@@ -3839,11 +4520,15 b' display_protocol.ipynb trapezoid_rule.ipynb'
3839
4520
3840 </div>
4521 </div>
3841 </div>
4522 </div>
3842 <div class="vbox output_wrapper">
4523 <div class="output_wrapper">
3843 <div class="output vbox">
4524 <div class="output vbox">
4525 <div class="prompt output_prompt">
4526 <div class="output vbox">Out[7]:</div>
4527 </div>
3844 <div class="hbox output_area">
4528 <div class="hbox output_area">
3845 <div class="prompt output_prompt">Out[7]:</div>
4529 <div class="prompt"></div>
3846 <div class="output_subarea output_pyout output_html rendered_html">
4530 <div class="box-flex1 output_subarea output_pyout">
4531 <div class="output_html rendered_html">
3847 <a href='files/./00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
4532 <a href='files/./00_notebook_tour.ipynb' target='_blank'>00_notebook_tour.ipynb</a><br>
3848 <a href='files/./01_notebook_introduction.ipynb' target='_blank'>01_notebook_introduction.ipynb</a><br>
4533 <a href='files/./01_notebook_introduction.ipynb' target='_blank'>01_notebook_introduction.ipynb</a><br>
3849 <a href='files/./animation.m4v' target='_blank'>animation.m4v</a><br>
4534 <a href='files/./animation.m4v' target='_blank'>animation.m4v</a><br>
@@ -3865,9 +4550,9 b' display_protocol.ipynb trapezoid_rule.ipynb'
3865 </div>
4550 </div>
3866 </div>
4551 </div>
3867 </div>
4552 </div>
3868 </section>
4553 </div></section>
3869 </section>
4554 </section><section>
3870 <section>
4555 <section>
3871 <div class="text_cell_render border-box-sizing rendered_html">
4556 <div class="text_cell_render border-box-sizing rendered_html">
3872 <h3>External sites</h3>
4557 <h3>External sites</h3>
3873 <p>You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia
4558 <p>You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia
@@ -3882,20 +4567,24 b' page for mobile users:</p>'
3882
4567
3883 </div>
4568 </div>
3884 </div>
4569 </div>
3885 <div class="vbox output_wrapper">
4570 <div class="output_wrapper">
3886 <div class="output vbox">
4571 <div class="output vbox">
4572 <div class="prompt output_prompt">
4573 <div class="output vbox">Out[9]:</div>
4574 </div>
3887 <div class="hbox output_area">
4575 <div class="hbox output_area">
3888 <div class="prompt output_prompt">Out[9]:</div>
4576 <div class="prompt"></div>
3889 <div class="output_subarea output_pyout output_html rendered_html">
4577 <div class="box-flex1 output_subarea output_pyout">
4578 <div class="output_html rendered_html">
3890 <iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>
4579 <iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>
3891 </div>
4580 </div>
3892 </div>
4581 </div>
3893 </div>
4582 </div>
3894 </div>
4583 </div>
3895 </div>
4584 </div>
3896 </section>
4585 </div></section>
3897 <section>
4586 </section><section>
3898 <section>
4587 <section>
3899 <div class="text_cell_render border-box-sizing rendered_html">
4588 <div class="text_cell_render border-box-sizing rendered_html">
3900 <h3>Mathematics</h3>
4589 <h3>Mathematics</h3>
3901 <p>And we also support the display of mathematical expressions typeset in LaTeX, which is rendered
4590 <p>And we also support the display of mathematical expressions typeset in LaTeX, which is rendered
@@ -3916,18 +4605,21 b' renders it. The <code>Math</code> object will add the needed LaTeX delimiters ('
3916
4605
3917 </div>
4606 </div>
3918 </div>
4607 </div>
3919 <div class="vbox output_wrapper">
4608 <div class="output_wrapper">
3920 <div class="output vbox">
4609 <div class="output vbox">
4610 <div class="prompt output_prompt">
4611 <div class="output vbox">Out[10]:</div>
4612 </div>
3921 <div class="hbox output_area">
4613 <div class="hbox output_area">
3922 <div class="prompt output_prompt">Out[10]:</div>
4614 <div class="prompt"></div>
3923 <div class="output_subarea output_pyout">
4615 <div class="box-flex1 output_subarea output_pyout">
4616
3924 $$F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx$$
4617 $$F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx$$
3925 </div>
4618 </div>
3926 </div>
4619 </div>
3927 </div>
4620 </div>
3928 </div>
4621 </div>
3929 </div>
4622 </div></section><section>
3930 </section><section>
3931 <div class="text_cell_render border-box-sizing rendered_html">
4623 <div class="text_cell_render border-box-sizing rendered_html">
3932 <p>With the <code>Latex</code> class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as <code>eqnarray</code>:</p>
4624 <p>With the <code>Latex</code> class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as <code>eqnarray</code>:</p>
3933 </div>
4625 </div>
@@ -3946,11 +4638,15 b' $$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$'
3946
4638
3947 </div>
4639 </div>
3948 </div>
4640 </div>
3949 <div class="vbox output_wrapper">
4641 <div class="output_wrapper">
3950 <div class="output vbox">
4642 <div class="output vbox">
4643 <div class="prompt output_prompt">
4644 <div class="output vbox">Out[11]:</div>
4645 </div>
3951 <div class="hbox output_area">
4646 <div class="hbox output_area">
3952 <div class="prompt output_prompt">Out[11]:</div>
4647 <div class="prompt"></div>
3953 <div class="output_subarea output_pyout">
4648 <div class="box-flex1 output_subarea output_pyout">
4649
3954 \begin{eqnarray}
4650 \begin{eqnarray}
3955 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
4651 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
3956 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
4652 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
@@ -3961,8 +4657,7 b' $$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$'
3961 </div>
4657 </div>
3962 </div>
4658 </div>
3963 </div>
4659 </div>
3964 </div>
4660 </div></section><section>
3965 </section><section>
3966 <div class="text_cell_render border-box-sizing rendered_html">
4661 <div class="text_cell_render border-box-sizing rendered_html">
3967 <p>Or you can enter latex directly with the <code>%%latex</code> cell magic:</p>
4662 <p>Or you can enter latex directly with the <code>%%latex</code> cell magic:</p>
3968 </div>
4663 </div>
@@ -3981,11 +4676,15 b' $$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$'
3981
4676
3982 </div>
4677 </div>
3983 </div>
4678 </div>
3984 <div class="vbox output_wrapper">
4679 <div class="output_wrapper">
3985 <div class="output vbox">
4680 <div class="output vbox">
4681 <div class="prompt output_prompt">
4682 <div class="output vbox"></div>
4683 </div>
3986 <div class="hbox output_area">
4684 <div class="hbox output_area">
3987 <div class="prompt output_prompt"></div>
4685 <div class="prompt"></div>
3988 <div class="output_subarea output_display_data">
4686 <div class="box-flex1 output_subarea output_display_data">
4687
3989 \begin{aligned}
4688 \begin{aligned}
3990 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
4689 \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
3991 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
4690 \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
@@ -3996,15 +4695,15 b' $$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$'
3996 </div>
4695 </div>
3997 </div>
4696 </div>
3998 </div>
4697 </div>
3999 </div>
4698 </div><div style=display:none>
4000 <div style=display:none class="text_cell_render border-box-sizing rendered_html">
4699
4700 <div class="text_cell_render border-box-sizing rendered_html">
4001 <p>There is also a <code>%%javascript</code> cell magic for running javascript directly,
4701 <p>There is also a <code>%%javascript</code> cell magic for running javascript directly,
4002 and <code>%%svg</code> for manually entering SVG content.</p>
4702 and <code>%%svg</code> for manually entering SVG content.</p>
4003 </div>
4703 </div>
4004 </section>
4704 </div></section>
4005 </section>
4705 </section><section>
4006 <section>
4706 <section>
4007 <section>
4008 <div class="text_cell_render border-box-sizing rendered_html">
4707 <div class="text_cell_render border-box-sizing rendered_html">
4009 <h1>Loading external codes</h1>
4708 <h1>Loading external codes</h1>
4010 <ul>
4709 <ul>
@@ -4013,12 +4712,12 b' and <code>%%svg</code> for manually entering SVG content.</p>'
4013 </ul>
4712 </ul>
4014 <p>In this notebook we've kept the output saved so you can see the result, but you should run the next
4713 <p>In this notebook we've kept the output saved so you can see the result, but you should run the next
4015 cell yourself (with an active internet connection).</p>
4714 cell yourself (with an active internet connection).</p>
4016 </div>
4715 </div></section><section>
4017 </section><section>
4018 <div class="text_cell_render border-box-sizing rendered_html">
4716 <div class="text_cell_render border-box-sizing rendered_html">
4019 <p>Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above</p>
4717 <p>Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above</p>
4020 </div>
4718 </div><div class="fragment">
4021 <div class="fragment" class="cell border-box-sizing code_cell vbox">
4719
4720 <div class="cell border-box-sizing code_cell vbox">
4022 <div class="input hbox">
4721 <div class="input hbox">
4023 <div class="prompt input_prompt">In&nbsp;[12]:</div>
4722 <div class="prompt input_prompt">In&nbsp;[12]:</div>
4024 <div class="input_area box-flex1">
4723 <div class="input_area box-flex1">
@@ -4027,11 +4726,14 b' cell yourself (with an active internet connection).</p>'
4027
4726
4028 </div>
4727 </div>
4029 </div>
4728 </div>
4030 <div class="vbox output_wrapper">
4729 <div class="output_wrapper">
4031 <div class="output vbox">
4730 <div class="output vbox">
4731 <div class="prompt output_prompt">
4732 <div class="output vbox"></div>
4733 </div>
4032 <div class="hbox output_area">
4734 <div class="hbox output_area">
4033 <div class="prompt output_prompt"></div>
4735 <div class="prompt"></div>
4034 <div class="output_subarea output_stream output_stdout">
4736 <div class="box-flex1 output_subarea output_stream output_stdout">
4035 <pre>
4737 <pre>
4036 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
4738 Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
4037 For more information, type &apos;help(pylab)&apos;.
4739 For more information, type &apos;help(pylab)&apos;.
@@ -4041,7 +4743,9 b' For more information, type &apos;help(pylab)&apos;.'
4041 </div>
4743 </div>
4042 </div>
4744 </div>
4043 </div>
4745 </div>
4044 <div class="fragment" class="cell border-box-sizing code_cell vbox">
4746 </div><div class="fragment">
4747
4748 <div class="cell border-box-sizing code_cell vbox">
4045 <div class="input hbox">
4749 <div class="input hbox">
4046 <div class="prompt input_prompt">In&nbsp;[15]:</div>
4750 <div class="prompt input_prompt">In&nbsp;[15]:</div>
4047 <div class="input_area box-flex1">
4751 <div class="input_area box-flex1">
@@ -4051,7 +4755,9 b' For more information, type &apos;help(pylab)&apos;.'
4051 </div>
4755 </div>
4052 </div>
4756 </div>
4053 </div>
4757 </div>
4054 <div style=display:none class="cell border-box-sizing code_cell vbox">
4758 </div><div style=display:none>
4759
4760 <div class="cell border-box-sizing code_cell vbox">
4055 <div class="input hbox">
4761 <div class="input hbox">
4056 <div class="prompt input_prompt">In&nbsp;[16]:</div>
4762 <div class="prompt input_prompt">In&nbsp;[16]:</div>
4057 <div class="input_area box-flex1">
4763 <div class="input_area box-flex1">
@@ -4093,11 +4799,15 b' For more information, type &apos;help(pylab)&apos;.'
4093
4799
4094 </div>
4800 </div>
4095 </div>
4801 </div>
4096 <div class="vbox output_wrapper">
4802 <div class="output_wrapper">
4097 <div class="output vbox">
4803 <div class="output vbox">
4804 <div class="prompt output_prompt">
4805 <div class="output vbox"></div>
4806 </div>
4098 <div class="hbox output_area">
4807 <div class="hbox output_area">
4099 <div class="prompt output_prompt"></div>
4808 <div class="prompt"></div>
4100 <div class="output_subarea output_display_data">
4809 <div class="box-flex1 output_subarea output_display_data">
4810
4101 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV0AAAD5CAYAAACEcub7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
4811 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV0AAAD5CAYAAACEcub7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
4102 AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0VPX5x/H3ZN9JkLAkASMYoiTIvoqgxRU3/LmgBVRq
4812 AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0VPX5x/H3ZN9JkLAkASMYoiTIvoqgxRU3/LmgBVRq
4103 XVHEVqFq0UiVRVwDatWjiBZcTottpYhSUBQw7ARIIAsQQljDEkJ2MjO/PwYoSMg6M3fu5PM6h2NJ
4813 XVHEVqFq0UiVRVwDatWjiBZcTottpYhSUBQw7ARIIAsQQljDEkJ2MjO/PwYoSMg6M3fu5PM6h2NJ
@@ -4258,8 +4968,9 b' X07vG9Z4QUTEBQ4dOkRpaSklJSVnnQPx/xV9BfkfDyZLAAAAAElFTkSuQmCC'
4258 </div>
4968 </div>
4259 </div>
4969 </div>
4260 </div>
4970 </div>
4261 </section>
4971 </div></section>
4262 </section>
4972 </section>
4973
4263 </div></div>
4974 </div></div>
4264
4975
4265 <!-- Social buttons -->
4976 <!-- Social buttons -->
@@ -4307,8 +5018,9 b' dependencies: ['
4307 { src: 'reveal/lib/js/classList.js', condition: function() { return !document.body.classList; } },
5018 { src: 'reveal/lib/js/classList.js', condition: function() { return !document.body.classList; } },
4308 { src: 'reveal/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
5019 { src: 'reveal/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
4309 { src: 'reveal/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
5020 { src: 'reveal/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
4310 { src: 'reveal/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
5021 { src: 'notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
4311 { src: 'http://s7.addthis.com/js/300/addthis_widget.js', async: true},
5022 { src: 'http://s7.addthis.com/js/300/addthis_widget.js', async: true},
5023 { src: 'js/revealmathjax.js', async: true},
4312 { src: 'js/mathjax-onload.js', async: true}
5024 { src: 'js/mathjax-onload.js', async: true}
4313 ]
5025 ]
4314 });
5026 });
@@ -4320,4 +5032,5 b' MathJax.Hub.Rerender(event.currentSlide);'
4320 });
5032 });
4321 </script>
5033 </script>
4322 </body>
5034 </body>
4323 </html> No newline at end of file
5035
5036 </html>
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1514 lines changed) Show them Hide them
General Comments 0
You need to be logged in to leave comments. Login now