[IPython-dev] Notebook CodeCell for editing and executing javascript

Nissim Karpenstein nissimk at gmail.com
Tue Dec 18 13:57:06 EST 2012


Can you please elaborate further on the potential security risks.
I thought that code cells are not executed when opening an ipynb file.  It
would have to be a little different than python CodeCells because the
output of javascript cells could not really be stored in the ipynb, but we
could still require each codecell to be manually executed by the user
before being eval'd in the browser.

Have you seen jsFiddle?  My suggestion is sort of a mashup of iPython
notebook and jsFiddle.







On Tue, Dec 18, 2012 at 1:40 PM, Matthias BUSSONNIER <
bussonniermatthias at gmail.com> wrote:

> Hi again,
>
> I'll moderate what I said an hour ago,
> I might see one way to maybe do something close to what you wish,
> It might not be strait forward, and I will thing about it.
> It might be incorporated in the JS widget we planed on implementing, I'll
> discusses of that with Brian
> to better now what his plans are.
>
> In any way it will probably change the notebook format introducing
> incompatibilities with older one, so
> we will think about it a lot before releasing it.
>
> We would still be happy to see what a prototype does, maybe you'll find
> how to do that in a way that
> prevent javascript injection at load time when exchanging ipynb files.
> --
> Matthias
>
> Le 18 déc. 2012 à 14:02, Nissim Karpenstein a écrit :
>
> > Hi,
> >
> > I'm new here and I wanted to run this by the group before I start
> working on it.  I'm interested in building a facility to use the notebook
> to edit and execute javascript code for presenting data from the python
> kernel.  I know there is a magic function and there is some sort of way to
> have python code render js in <script> tags, and you can put javascript in
> the Markdown cells, but I was envisioning something more like a standard
> codecell, but execution is handled by the browser rather than the kernel.
> >
> > Let's say you've loaded some data and run some computations in your
> python kernel and now you want to display results in the notebook using
> some javascript library like d3, datatables or processing.  If you want to
> do this by writing the javascript code in a CodeCell and evaluating that
> code in the browser you need a couple of things:
> > 1) ability to change a code cell language to javascipt in the notebook
> frontend.  I saw that there is a language field in the notebook file format
> for CodeCell but it is always = python.
> >
> > 2) facility to have the browser javascript engine evaluate the contents
> of the javascript CodeCell when it is executed by the user
> >
> > 3) http REST api that will return json representations of Python objects
> that exist in the kernel.  (this may already exist, I don't really
> understand the kernel communication protocol yet).
> >
> > There are probably some more things like the ability to add CSS, HTML,
> js and image resources to the server that it can then serve back to the
> client.  I see that there's been a lot of discussion related to this in the
> plugins thread, but maybe there can also be a method for accessing
> resources from the network and then telling the notebook server to serve
> them from some path.
> > I'd like to implement this and I had a couple of questions:
> >
> > 1) Does this fit in with your ideas for the notebook or is editing non
> python code in CodeCell outside of the vision?
> >
> > 2) Should there be another Dropdown for the language of the CodeCell or
> should there be a javascript option added to the existing select box.
> >
> > Thanks
> >
> >    -Nissim
> >
> > _______________________________________________
> > IPython-dev mailing list
> > IPython-dev at scipy.org
> > http://mail.scipy.org/mailman/listinfo/ipython-dev
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121218/903a9df2/attachment.html>


More information about the IPython-dev mailing list