[IPython-dev] first experiment creating Software Carpentry teaching materials using the IPython Notebook
MinRK
benjaminrk at gmail.com
Sun Mar 24 15:32:23 EDT 2013
On Sun, Mar 24, 2013 at 12:08 PM, Matthias BUSSONNIER <
bussonniermatthias at gmail.com> wrote:
>
> Le 24 mars 2013 à 19:51, MinRK a écrit :
>
> >>
> >> With one clarification on #2: There is not a hook for you to add css
> classes to the cells live in the notebook, but this can certainly be added.
> The cell metadata is how you would do this, but interpreting the metadata
> to add the class to the div will need to be added.
> > Understood --- but that seems like it _ought_ to be a pretty simple
> extension (he said hopefully).
> >
> > It certainly should be - one thing we would need to do to support such
> an extension is add a hook for the 'cell-metadata-changed' event.
>
> No need to, the setters provided by the extensions just have to emit
> events.
>
> To take back an example from
> http://elacave.lmdb.eu/~carreau/yui/classes/IPython.CellToolbar.html
>
> (setters and getters are defined inline, but they could be provided
> separately and be imported )
>
> * @example
> *
> * var select_type = CellToolbar.utils.select_ui_generator([
> * ["<None>" , undefined ],
> * ["Header Slide" , "header_slide" ],
> * ["Slide" , "slide" ],
> * ["Fragment" , "fragment" ],
> * ["Skip" , "skip" ],
> * ],
> * // setter
> * function(cell, value){
> * // we check that the slideshow namespace exist and
> create it if needed
> * if (cell.metadata.slideshow ==
> undefined){cell.metadata.slideshow = {}}
> * // set the value
> * // ONE CAN EMMIT THE CHANGED VALUE HERE
> * cell.metadata.slideshow.slide_type = value
> * },
> * //geter
> * function(cell){ var ns = cell.metadata.slideshow;
> * // if the slideshow namespace does not exist
> return `undefined`
> * // (will be interpreted as `false` by checkbox)
> otherwise
> * // return the value
> * return (ns == undefined)? undefined: ns.slide_type
> * }
> * CellToolbar.register_callback('slideshow.select', select_type);
> *
> */
>
> This allow people to rely on other plugin, and the plugin author can
> change the way the metadata are store/read al long as the getters/setters
> are exposed.
> See what I mean ? Or I should write an example ?
>
That's exactly what I was expecting, I just didn't know it was done already.
Thanks!
>
> --
> Matthias
>
>
> _______________________________________________
> 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/20130324/6867417e/attachment.html>
More information about the IPython-dev
mailing list