This add a per-cell globally toggleable toolbar
the main purpouse is to easily edit metadata.
this come with a few example like adding checkbox,
dropdown list, simple button, button with icon...
please see the js-doc of
IPython/frontend/html/notebook/static/js/MetaUI.js
for more info
Equation References and Numbering are not going to be trivial to add,
so the code has been removed for now. Important fixes include
no-MathJax support (previously, the code was failing), and the
generation of unique ids for the rendering content in each cell,
tremendously speeding up MathJax rendering.
I am still not rendering placeholder text.
MathJax.InputJax.TeX.resetEquationNumbers is supposed to be available,
but isn't consistently loaded before the notebook fires off its first
re-render request. The code edits in mathjaxutils.js fix this issue.
Additionally, there was some init code in mathjaxutils.js that has been
properly excised to the html templates.
Removed some orphan rendering code so that all typesetting now goes
through mathjaxutils.js
Finally, removed an extra cell in the demo notebook.
Autochange highlight with cell magics
Highlight change is made on cell load and Enter keypress.
For now, it recognizes %%javascript, %%python[3], %%ruby, %%bash , %%R, %%perl.
new modes can easily be added by adding regular expression on config.js
The behavior is the following:
* If you press UP while on the first row, you go to the beginning of the line.
* If you press UP again (or were already at the beginning of the line), you
go to the previous cell.
* If you press DOWN while on the last row, you go to the end of the line.
* If you press DOWN again (or were already at the end of the line), you go
to the next cell.
This applies to `CodeCell`s and `RawCell`s.
Cell/Worksheet metadata
* metadata dicts are attached to cells and worksheets
* restores collapsed flag to the nbformat - this change happened in the refactor, and was undocumented, and possibly accidental. But we should either document it or fix it, and this includes a fix.
* adds a new field, `nbformat_minor`, used to denote minor bumps of the notebook format that expose new capabilities but don't prevent loading by older clients.
* Add a warning in Javascript if loading a multiworksheet notebook (which will exist in the future) as current JS code will only save the first.
closes#1915
I found another bug where switching the cell type causes the loss of all
undo history for that cell. With this commit, switching the cell type
simply resets the history
* Kernel doesn't depend on Notebook or CodeCell.
* CodeCell doesn't depend on Notebook, only Kernel.
* All of the kernel management logic has been moved out of the
Notebook into the Kernel.
* Public methods of the Kernel (execute, complete, etc) take
a callbacks object that registers the callbacks for that msg.
(rebased, cherrypicked, by Bussonnier Matthias <bussonniermatthias@gmail.com>)
(and tabs removed)
Conflicts:
IPython/frontend/html/notebook/static/js/codecell.js
IPython/frontend/html/notebook/static/js/completer.js
IPython/frontend/html/notebook/static/js/tooltip.js
* Merge/split works for all cell types.
* Notebook.select won't select an already selected cell.
* Bugs in markdown cell editing fixed.
* border-box-sizing used for Markdown cells to get correct css boxes.
* Shading/border added to Markdown cell editor.
* Added placeholder to the base Cell class.
* Removed the \u0000 char at the beginning of the TextCell
placeholder that was there for a CodeMirror bug workaround.
* Other refactoring of Cell related Notebook methods.
* Added set_text/get_text in favor of get_code/set_code and
get_source/set_source.
* Added methods to the base class (get_text, set_text, refresh,
edit, render, toJSON, fromJSON).
Single-click to edit gets in the way of using interactive elements (e.g. non-flash videos),
and select/copy of the rendered HTML. Switching to double-click makes the edit action more intentional.