Change Notebook logo to IP[y]:Notebook
Make it clickable to return to the dashboard
Thanks to @MinRK for the css.
closes#607
png logo is 48px high (2x display), for balance of
browser display / zoomed appearance.
settings for tornado web application can now be specified via the
NotebookApp.webapp_settings configurable. This principally allows
users/admins to serve custom templates, css, and javascript, without
having to modify IPython's shipped sources.
closes#1135
Usability refinements to the as-you-type completer, so it shows the part that is fixed (typed by the user prior to tab), and is dismissed when not needed further.
Closes#1080.
Following @fperez advice, change the completer apparence to avoid user confusion.
- Append what the user type in the completer in code-miror, (Almost) as if
codemirror still have focus
- distinguish between "fixed" completion part, which was sent to the kernel
(now written in bold) and filtering one,handled only in JS,that the user
can errase without dismissing the completer
I changed the action of <Space> to dismiss the completer with what have
already been typed and inserting a space instead of "picking" the currently
hilighted option
<Escape> will still dissmiss the completer and remove everything the user as
typed since the completer invocation
Note that while the completer is shown, code-mirror does not show any
blinking cursor
- dissmiss the completer, append what alredy type, **Plus** one caracter in
some cases
List of special caracter that are handle are in a given list `()[]./\-+`
for the moment. usefull for exaple when typing :
>>> np.s<tab>in(
and not having to type '(' twice.
they are handle separately has the [a-zA-Z] ones because otherwise they
will screw up the regexp, and are opt-in to avoid bugs with invisible
caracters send because some browser have 'keypress' event for meta keys
close#1080
Note to this commit :
list of test for the completer across browser with --pylab=inline flag
#test direct one completion
plt.an<tab> -> plt.annotate
#test filter,tab, only one completion
plt.a<tab>n<tab> -> plt.annotate
# test partial common beggining
# test dismmised if user erase
plt.a<tab>nn<backspace><backspace>u<tab> -> completer to `aut`
........................................<tab><tab><tab> -> nothing should append
.......................................................<backspace><backspace<backspace> -> completer cancelled
#test dismiss if no more completion
plt.s<tab>c -> completer 3 choices
...........u -> dismissed whith what user have typed. `plt.scu`
# test dismiss in no completion, special symbol
# opt-in list of caracters +-/\()[].
np<tab>.s -> a 'dot' sould dismiss the completer and be appended
.........<tab>in( -> np.sin(
np.s<tab>in[ -> np.sin[
Two-process terminal frontend: this branch adds a new IPython frontend, invoked via
ipython console
that behaves much like the regular, old ipython, but runs over zeromq in two processes. This means that such a client can connect to existing kernels initiated by the Qt console, the notebook or standalone (i.e. via `ipython kernel`).
We still have some internal architectural cleanups to perform to simplify how the various frontends talk to the kernels, but by having this main piece in, the complete picture is clearer, and that refactoring work can be carried post-0.12.
This frontend should still be considered experimental.
allow the notebook to run without MathJax
adds --no-mathjax flag for disabling mathjax, and moves the mathjax URL decision to the server from the browser.
closes#1071
prototype functions were actually called which should not happen, and
resulted in objects and their attributes being passed to their own methods
as arguments.
* use jQuery syntax to construct dialog
* server determines where MathJax comes from via mathjax_url configurable (default local/CDN priority unchanged)
* add `--no-mathjax` flag for disabling mathjax in the notebook server
* A jQuery dialog with our 'no mathjax' message will appear if mathjax is unavailable, but the notebook will be fully functional after dismissal.
* Various calls to MathJax.Hub.typeset moved to Cell.typeset, which checks for MathJax existence and is a no-op without it.
closes#1071
Improve tab-completer in the notebook to filter list of completions 'as you type'. Once the completions list is opened, you can continue typing letters and the list will filter down as less items match. Typing tab again will activate the completion once there are no ambiguities.
This brings the experience in the notebook much closer to the feel of a readline completer, so muscle memory can carry across systems.
when invoking the completer, instead of having to chose/dismiss, you can
continue typing, it will filter the result "as you type" and dismiss itself
if ther is no match left.
As it is now, it's only works with lowercase letters, I need to find a workaroud
for this.
for example
if you type :
* P-y-<tab>-S-o-m-e-t-h-i-n-g
* it will propose PySide, but will dismiss when 'o' is pressed and pasting Pyso with a lower case 's'