Commit Graph

864 Commits

Author SHA1 Message Date
Brian Granger
5ef2e06a42 Javascript output is not run on notebook loading and paste's. 2012-02-07 09:18:23 -08:00
Brian Granger
893572d3ad Wired up the javascript display protocol using eval. 2012-02-07 08:57:06 -08:00
Brian E. Granger
cd0810ee25 Merge pull request #1370 from minrk/draft76
allow draft76 websockets (Safari)
2012-02-06 10:59:13 -08:00
Brian E. Granger
b3fb9c474b Merge pull request #1368 from minrk/asciipatterns
Ensure handler patterns are str, not unicode
2012-02-06 10:51:39 -08:00
MinRK
8cfd9dcf6e allow draft76 websockets (Safari)
Safari still uses draft76, and Tornado 2.2.0 release disables the
access from the draft version by default for security reasons.
This simply sets the tornado flag to True, so we can continue
to support Safari until it upgrades to the RFC 6455 implementation.
2012-02-02 22:31:42 -08:00
MinRK
7607bb6a5b Ensure handler patterns are str, not unicode
Python < 2.6.5 doesn't accept unicode keys in f(**kwargs), and
base_project_url will always be unicode, which will in turn
make the patterns unicode, and ultimately result in unicode
keys in kwargs to handler._execute(**kwargs) in tornado.
This enforces that base_project_url be ascii in that situation.

Note that the URLs these patterns check against are escaped,
and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'.

If you actually use u'héllo' in your regex, it will not match the URLs
you think it should.
2012-02-02 15:18:54 -08:00
Fernando Perez
8c6572347a Merge pull request #1361 from ellisonbg/nbissues
A number of bug fixes for notebook issues that had crept up recently with all the major improvements done on multiple fronts.

In closing #1359, we've changed slightly how Math() works: it now unconditionally surrounds its input with $$...$$, so that it always appears in displayed math mode.  We have also introduced a new display object, Latex(), which does *not* add any latex markup, for other constructs beyond simple math expressions.  This change makes Math() friendlier to use in simple cases and means that Math(sympy.latex(foo)) will produce the expected displayed math results without the user having to add any $ markup.

Summary of fixes:

Fixes #1344: Ctrl + M + L does not toggle line numbering in htmlnotebook.

Fixes #1337: Tab in the notebook after `(` should not indent, only give a tooltip.

Fixes #1339: Notebook printing broken.

Fixes #1348: `Ctrl-m-Ctrl-m` does not switch to markdown cell

Fixes #1359: [sympyprinting] MathJax can't render \root{m}{n}
2012-02-02 13:41:01 -08:00
Brian Granger
f387e52610 Proper error handling for nbformat versions in client code.
1. Users are warned when an older nbformat notebook is converted.
2. The notebook notifies the user when a notebook that is too new
   is attempted to load.

To test these things, create a simple notebook. Then change its
nbformat field by hand to 2 (to test 1) and then 4 (to test 2).
2012-02-01 15:46:14 -08:00
Brian Granger
1ffb5ff262 Making keyboard shortcut for showing line numbers consistent. 2012-02-01 14:43:58 -08:00
Brian Granger
f9ce3fa493 Fixing #1337. Tooltip stops TAB from being handled by others.
Pressing TAB to get the tooltip "range(TAB" was inserting a TAB.
To get rid of this we are now telling CodeMirror to ignore it
and also stopping the event from bubbling up the DOM.
2012-02-01 10:26:07 -08:00
Brian Granger
e5bc1eef59 Fixing Shift-Enter bug in text cells.
Hitting Shift-Enter on an already rendered text cell should simply
move past it. It was causing the cell to enter edit mode. This
is not fixed.
2012-02-01 09:57:23 -08:00
Brian Granger
4ae865a988 Fixing #1348 to allow Ctrl-M M to work w/o releasing Ctrl. 2012-02-01 09:50:56 -08:00
Brian Granger
e59f95376d Major refactoring of saving, notification.
* Refactored the save widget so that the notebook doesn't depend
  on it.  Now the notebook emits events and the save widget
  observes those events.
* Created a new event system for all IPython events (events.js).
  We should start to use this to allow our classes to be loosely
  coupled.
* Created a new notification widget that should be used for all
  notifications. Uses new event system.
* Removed the kernel status widget.
* All kernel status message use new event/notification system.
* The print notebook view works again.
2012-01-31 21:42:01 -08:00
Brian E. Granger
241e65b5c1 Merge pull request #1347 from Carreau/fixes-1243
Fix weird magic completion in notebook.  Closes #1243.
2012-01-30 15:22:03 -08:00
Brian E. Granger
96e5089d5d Merge pull request #1346 from astraw/alternate-url-fixups
fixups for alternate URL prefix stuff
2012-01-30 15:16:15 -08:00
Brian E. Granger
a256ff223b Merge pull request #1331 from ellisonbg/celltypes
Added plaintext and heading cells to the notebook UI and nbformat.

In the process we have updated the nbformat to v3 and integrated these new cell types into the new toolbar.
2012-01-30 15:01:08 -08:00
Brian Granger
d7efc05572 Removing extra refresh in PlaintextCell. 2012-01-30 14:54:26 -08:00
Brian Granger
bdd17da81d Fixing minor bugs in nbformat and saving.
* json separator is not ',' to avoid adding extra space at EOL.
* vs used throughout nbformat.current.
* Cell collapse is properly loaded from notebook.
2012-01-30 14:20:54 -08:00
Brian Granger
a00fc0165b Heading/plaintext cells now wired up to toolbar UI. 2012-01-30 12:08:36 -08:00
Brian Granger
2f88004a05 Updating JS part of plaintext cell handling. 2012-01-30 11:50:04 -08:00
Brian Granger
fd3d5edb66 Finishing first draft of RST and heading cells. 2012-01-30 11:50:03 -08:00
Brian Granger
f65adcf33e Adding new HeadingCell. 2012-01-30 11:50:03 -08:00
Brian Granger
47e4e1e2c4 A first go at RST cell support in the notebook. 2012-01-30 11:50:03 -08:00
Andrew Straw
ee9da32b05 use full URL when using alternate URL prefix 2012-01-30 07:19:33 +01:00
Fernando Perez
d2467be28b Merge pull request #1332 from astraw/alternate-url-prefix
notebook - allow prefixes in URL path.

This closes #1329. The basic idea is to allow prefixes in the path served. (E.g. serve on http://localhost:8888/ipython/ instead of http://localhost:8888/ )

This is useful for running the ipython notebook behind a proxy serving other content at other URLs. In that case, one would also need to proxy the websockets.

Also, clean up some static paths in our html/css files by using template function calls instead of hardcoded paths.
2012-01-29 14:09:25 -08:00
Andrew Straw
332fdf662c let websocket server be traited config option 2012-01-29 07:29:33 +01:00
Andrew Straw
bd7f1f941c allow setting base_project_url and base_kernel_url to non-default values 2012-01-29 07:29:33 +01:00
Andrew Straw
c706d6ed99 bugfix: use baseProjectUrl when re-writing URL in address bar 2012-01-29 07:29:33 +01:00
Andrew Straw
81a636dabf use Tornado's handler.static_url() in templates 2012-01-29 07:29:33 +01:00
Fernando Perez
5067e77292 Merge pull request #1334 from fawce/keycuts
Make Control-S (or Cmd-S on Apple) save the actual notebook instead of bringing up the useless 'save as html' dialog.  This doesn't disable the C-m-s keybinding, simply adds the far more familiar and common C-s.
2012-01-28 16:39:06 -08:00
Fernando Perez
aaae3b5be7 Merge pull request #1335 from ellisonbg/nbtoolbar
Add a toolbar with icons to the notebook interface.  There are for now icons for the most important actions, we will slowly consider the addition of new ones later as necessary.  But this should make everyday usage much more fluid for mouse-based users.

The new toolbar and the header bar have also been made collapsible, which allows users to have a very compact view with only minimal vertical space devoted to the UI and most of the screen available as usable work space.
2012-01-27 23:57:48 -08:00
Brian Granger
1ed9a21039 Adding "Cell" to cell related Edit actions. 2012-01-27 16:16:22 -08:00
Brian Granger
9b723324db Wired the rest of the toolbar buttons up to actions. 2012-01-27 13:54:37 -08:00
Brian Granger
428c82877f Further work on the toolbar UI.
* Cell type selection box is wired up and styled.
* New View menu that allows toolbar/header to be toggled.
2012-01-27 13:45:43 -08:00
Brian Granger
4c88c4686c First draft of toolbar.
We are adding a thin horizontal toolbar below the menubar. This
commit adds the basic UI elements. Still need to hook up the actions
and make this hidable.
2012-01-27 12:31:28 -08:00
fawce
7bf330fc99 backed out change to gitignore 2012-01-27 14:50:39 -05:00
fawce
a53def4a49 fixed missing return for keybinding 2012-01-27 14:49:39 -05:00
fawce
6120c07c4d added key handler for control-s to notebook, seems to work pretty well 2012-01-27 14:18:48 -05:00
Fernando Perez
63133e0c4d Merge pull request #1328 from ipython/coverage
Add XML coverage support to the test suite with new --with-xml-coverage flag.  The resulting XML output files are understood by Jenkins, so now our automated test suite will have coverage reports.
2012-01-27 03:31:32 -08:00
Thomas Kluyver
717285060e Use explicit for loop to find section in testing. 2012-01-27 11:16:35 +00:00
Thomas Kluyver
4b51bacbb2 Don't raise errors from coverage post-processing. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
93a8b9d215 Use separate option --with-xml-coverage to ask for coverage xml output. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
24af9ac298 Use standard command for coverage. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
e29d417931 Produce coverage xml reports from subprocess test runners. 2012-01-27 01:16:46 +00:00
Min RK
125dc8cb74 Merge pull request #1206 from minrk/fixConsole
The notebook js transforms ANSI-escaped text to HTML.  The transformed HTML was previously persisted to ipynb files, rather than the true output.  This has been fixed, and notebooks with ANSI-colored output will need to be re-run for colored output (tracebacks) to be displayed correctly after this change.
2012-01-26 17:14:29 -08:00
Brian E. Granger
91745493f1 Merge pull request #1330 from fperez/linewrap
Add linewrapping to text cells (new feature in CodeMirror).
2012-01-26 14:07:30 -08:00
Fernando Perez
df7d91f30a Add linewrapping to text cells (new feature in CodeMirror). 2012-01-25 22:17:12 -08:00
Fernando Perez
ef1cc56996 Merge pull request #1327 from ellisonbg/updatecm2
Updating CodeMirror to the latest dev master. 

We had found a bug in CodeMirror that was forcing us to call refresh/focus/refresh on Firefox. This bug was fixed upstream. This PR pull in the latest CM with the bug fix and removes the extra refresh calls. All known CM bugs should be fixed, yeh!
2012-01-25 22:16:13 -08:00
Fernando Perez
219ba77482 Merge pull request #1326 from ellisonbg/removeace
Removing Ace edit capability.

We have fixed some of the problems with CodeMirror and feel that
the differences between Ace and CodeMirror are not great enough
to justify having both. We may reintroduce a full-window edit
mode using CodeMirror, but that will come separately.
2012-01-25 20:30:36 -08:00
Fernando Perez
1d5c57d6c9 Remove debug print statement left over from PR #1316. 2012-01-25 19:43:14 -08:00