diff --git a/COPYING.rst b/COPYING.rst index 8d27461..decd8bd 100644 --- a/COPYING.rst +++ b/COPYING.rst @@ -5,7 +5,7 @@ IPython-contrib is licensed under the terms of the Modified BSD License (also known as New or Revised or 3-Clause BSD), as follows: -- Copyright (c) 2013-2014, IPython-contrib Developers +- Copyright (c) 2013-2015, IPython-contrib Developers All rights reserved. diff --git a/README.md b/README.md index ed9fc64..809dedd 100644 --- a/README.md +++ b/README.md @@ -20,19 +20,19 @@ IPython/Jupyter version support There are different branches of the notebook extensions in this repository. Please make sure you use the branch corresponding to your IPython/Jupyter version. -Overview -=========================== -The repository is organized in different categories: - -| Name | Description | -|------------|-------------| -| [usability](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki#usability) | Additional functionality for the notebook | -| [publishing](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki#publishing) | Getting your notebooks out in the wild | -| [styling](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki#styling) | Styling schemes for different looks of the notebook | -| [slidemode](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki#slidemode) | Slideshow creation | -| [testing](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki#testing) | Extensions in a early stage | - Documentation ============= -The extensions are documented in the Wiki. Please take a look [here](https://github.com/ipython-contrib/IPython-notebook-extensions/wiki) +Some extensions are not documented. We encourage you to add documentation for them. + +All extensions that are maintained and active have a markdown readme file for documentation and a yaml file to + allow them being configured using the 'nbextensions' server extension. + +Installation +============ + +The simple case: You want to install the extensions as local user. Then, simply run `setup.py` or build +a conda package by running `conda build`, and then do a `conda install nbextensions`. + +For more complex installation scenarios, please look up the documentation at the Jupyter homepage http://www.jupyter.org + diff --git a/conda-recipe/build.sh b/conda-recipe/build.sh new file mode 100755 index 0000000..8a1fa0c --- /dev/null +++ b/conda-recipe/build.sh @@ -0,0 +1 @@ +ipython install.py \ No newline at end of file diff --git a/conda-recipe/install.py b/conda-recipe/install.py new file mode 100755 index 0000000..d26fe53 --- /dev/null +++ b/conda-recipe/install.py @@ -0,0 +1,81 @@ +# Install notebook extensions + +from jupyter_core.paths import jupyter_config_dir, jupyter_data_dir, jupyter_runtime_dir +from traitlets.config.loader import Config, JSONFileConfigLoader +import IPython.extensions +import os +import sys +import logging +import json + +# http://stackoverflow.com/questions/12683834/how-to-copy-directory-recursively-in-python-and-overwrite-all +def recursive_overwrite(src, dest, ignore=None): + if os.path.isdir(src): + if not os.path.isdir(dest): + os.makedirs(dest) + files = os.listdir(src) + if ignore is not None: + ignored = ignore(src, files) + else: + ignored = set() + for f in files: + if f not in ignored: + recursive_overwrite(os.path.join(src, f), + os.path.join(dest, f), + ignore) + else: + shutil.copyfile(src, dest) + +# +# Install files +# + +# copy extensions to IPython extensions directory +extensions = os.path.dirname(IPython.extensions.__file__) +src = os.path.join('src','extensions') +print("Install extensions to %s" % extensions) +recursive_overwrite(src, extensions) + +# Install templates +templates = os.path.join(jupyter_data_dir(), 'templates') +src = os.path.join('src','templates') +print("Install templates to %s" % templates) +recursive_overwrite(src, templates) + +# Install nbextensions +nbextensions = os.path.join(jupyter_data_dir(), 'nbextensions') +src = os.path.join('src','nbextensions') +print("Install notebook extensions to %s" % nbextensions) +recursive_overwrite(src, nbextensions) + +# +# Update nbconvert configuration +# +fname = os.path.join(jupyter_config_dir(), 'jupyter_nbconvert_config.json') +cl = JSONFileConfigLoader(fname) +config = cl.load_config() +newconfig=Config() +# Set template path, pre- and postprocessors of notebook extensions +newconfig.Exporter.template_path = [os.path.join(jupyter_data_dir(),'templates') ] +newconfig.Exporter.preprocessors = ["codefolding.CodeFoldingPreprocessor", "pymdpreprocessor.PyMarkdownPreprocessor" ] +newconfig.NbConvertApp.postprocessor_class = 'embed.EmbedPostProcessor' +config.merge(newconfig) +config.version = 1 +s=json.dumps(config, indent=2, separators=(',', ': '), sort_keys=True) +with open(fname, 'w') as f: + f.write(s) + +# +# Update notebook configuration +# +fname = os.path.join(jupyter_config_dir(), 'jupyter_notebook_config.json') +cl = JSONFileConfigLoader(fname, log=log) +config = cl.load_config() +newconfig=Config() +# Add server extension of /nbextension/ configuration tool +newconfig.NotebookApp.server_extensions = [ "nbextensions" ] +config.merge(newconfig) +config.version = 1 +s=json.dumps(config, indent=2, separators=(',', ': '), sort_keys=True) +with open(fname, 'w') as f: + f.write(s) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml new file mode 100755 index 0000000..fb80415 --- /dev/null +++ b/conda-recipe/meta.yaml @@ -0,0 +1,36 @@ +package: + name: nbextensions + version: !!str 0.3 + +source: + path: ./src + +build: + script: ipython install.py + +requirements: + build: + - python + - jupyter-client + - jupyter-core + - jupyter-notebook + - nbconvert + - nbformat + - traitlets + - ipython >=4 + + run: + - python + - jupyter-client + - jupyter-core + - jupyter-notebook + - nbconvert + - nbformat + - traitlets + - ipython >=4 + +about: + home: https://github.com/ipython-contrib/IPython-notebook-extensions/wiki + license: Modified BSD License + summary: 'Notebook extensions for the IPython notebook' + diff --git a/config/ipython_notebook_config.py b/config/ipython_notebook_config.py deleted file mode 100644 index ad877e9..0000000 --- a/config/ipython_notebook_config.py +++ /dev/null @@ -1,18 +0,0 @@ -# Configuration file for ipython-notebook. - -from IPython.utils.path import get_ipython_dir -import os -import sys - -ipythondir = get_ipython_dir() -extensions = os.path.join(ipythondir,'extensions') -sys.path.append( extensions ) - -c = get_config() -c.NotebookApp.open_browser = False -#c.IPKernelApp.ip = '127.0.0.1' -#c.FileNotebookManager.notebook_dir = 'i:\\notebook' - -c.NotebookApp.server_extensions = [ 'nbextensions' ] -c.NotebookApp.extra_template_paths = [os.path.join(ipythondir,'templates') ] - diff --git a/config/main.css b/config/main.css deleted file mode 100644 index 5f1c1b3..0000000 --- a/config/main.css +++ /dev/null @@ -1,6 +0,0 @@ - -.nbextension-row { - border-bottom: 2px solid #888; - padding-left: 20px; - padding-bottom: 20px; -} diff --git a/config/main.js b/config/main.js deleted file mode 100644 index 7bf850a..0000000 --- a/config/main.js +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright (c) IPython-Contrib Team. -// Distributed under the terms of the Modified BSD License. - -// Show notebook extension configuration - -require([ - 'base/js/namespace', - 'base/js/utils', - 'base/js/page', - 'base/js/events', - 'jquery', - 'require', - 'contents', - 'services/config' -], function( - IPython, - utils, - page, - events, - $, require, - contents, - configmod - ){ - page = new page.Page(); - - var base_url = utils.get_body_data('baseUrl'); - var extension_list = $('body').data('extension-list'); - - /* build html body listing all extensions */ - var html = ""; - for(var i=0; i < extension_list.length; i++) { - var extension = extension_list[i]; - var url = base_url + extension['url']; - var icon = url + '/' + extension['Icon']; - var id = extension['Name'].replace(/\s+/g, ''); - - html += '
\n' - +'
\n'; - - html += '
' - +'
' - +'

' + extension['Name'] + '

'; - - html += '
' + extension['Description'] + - ' more...

'; - html += '
' - +'' - +'

'; - - if (extension['Parameter'] != undefined) { - /* add an input element to configure extension parameters */ - var inputid = 'input_' + extension['Parameter']; - var description = 'Parameter: ' + extension['Parameter']; - console.log(extension.hasOwnProperty('ParameterDescription')) - if (extension.hasOwnProperty('ParameterDescription') === true) description += '
'+extension['ParameterDescription']; - html += '
' - + description + '' - + '
'; - } - html += '
' - +'
\n'; - html += '
' - +'
' - - } - $("#nbextensions-container").html(html); - - /** - * Update config in json config file on server to reflect changed activate/deactivate stae - */ - var changeConfig = function(id,state) { - for(var i=0; i < extension_list.length; i++) { - var extension = extension_list[i]; - var url = base_url + extension['url'] + '/' + extension['Main']; - url = url.split('.js')[0]; - url = url.split('nbextensions/')[1] ; - var extid = extension['Name'].replace(/\s+/g, ''); - if (extid === id) { - var ext = {}; - - if (state === true) { - console.log("Turn extension " + extension['Name'] + ' on'); - ext[url] = true; - config.update({"load_extensions": ext }) - } else { - console.log("Turn extension " + extension['Name'] + ' off'); - ext[url] = null; - config.update({"load_extensions": ext }) - } - } - } - }; - - /** - * Handle button click event to activate/deactivate extension - */ - var clickEvent = function(e) { - - var id = this.id.replace(/-on|-off/,''); - var state = this.id.search(/-on/) >= 0; - if (state === true) { - set_buttons(id,false); - changeConfig(id,true) - } else { - set_buttons(id,true); - changeConfig(id,false) - } - }; - - /** - * install click handler for buttons - */ - for(var i=0; i < extension_list.length; i++) { - var extension = extension_list[i]; - var id = extension['Name'].replace(/\s+/g, ''); - console.log("Found extension:",id); - $(document.getElementById(id+'-on')).on('click', clickEvent ); - $(document.getElementById(id+'-off')).on('click', clickEvent ); - } - - var set_buttons = function(id, state) { - var on = $(document.getElementById(id+'-on')); - var off = $(document.getElementById(id+'-off')); - if (state === true) { - off = $(document.getElementById(id+'-on')); - on = $(document.getElementById(id+'-off')); - } - - on.prop('disabled', true); - on.removeClass('btn-primary'); - on.addClass('btn-default'); - off.prop('disabled', false); - off.addClass('btn-primary'); - off.removeClass('btn-default') - }; - - /** - * handle input form for extension parameters, update parameter in json config file on server - */ - var handle_input = function(event, configkey) - { - var form = event.target.id; - var input = $(document.getElementById(form)); - var c = {}; - c[configkey] = input.val(); - config.update(c) - }; - - /** - * - * Get configuration from json config file on server - */ - var config = new configmod.ConfigSection('notebook', {base_url: base_url}); - config.load(); - - /* set activate/deactivate buttons and populate parameter input once config is loaded */ - config.loaded.then(function() { - if (config.data.load_extensions) { - var nbextension_paths = Object.getOwnPropertyNames( - config.data.load_extensions); - for(var i=0; i < extension_list.length; i++) { - var extension = extension_list[i]; - var parameter = extension['Parameter']; - if ( parameter != undefined) { - if (config.data.hasOwnProperty(parameter)) { - var input = $(document.getElementById('input_'+parameter)); - var configkey = parameter; - input.val(config.data[parameter]); - input.on('keyup', function(event) { handle_input(event, configkey);}); - } - } - var url = base_url + extension['url'] + '/' + extension['Main']; - url = url.split('.js')[0]; - url = url.split('nbextensions/')[1]; - if ( config.data.load_extensions[url] === true) { - var id = extension['Name'].replace(/\s+/g, ''); - set_buttons(id,false); - } - } - } - }); - - /** - * Add CSS file - * - * @param name filename - */ - var load_css = function (name) { - var link = document.createElement("link"); - link.type = "text/css"; - link.rel = "stylesheet"; - link.href = require.toUrl(name); - document.getElementsByTagName("head")[0].appendChild(link); - }; - load_css('/nbextensions/config/main.css'); - page.show(); - -}); diff --git a/custom.example.js b/custom.example.js deleted file mode 100644 index c0852f0..0000000 --- a/custom.example.js +++ /dev/null @@ -1,58 +0,0 @@ -// Example for custom.js - -// we want strict javascript that fails on ambiguous syntax -"use strict"; - -// activate extensions only after Notebook is initialized -require(["base/js/events"], function (events) { - events.on("app_initialized.NotebookApp", function () { - /* - * all exentensions from IPython-notebook-extensions, uncomment to activate - */ - - // PUBLISHING -// IPython.load_extensions('publishing/nbviewer_theme/main') -// IPython.load_extensions('publishing/gist_it') -// IPython.load_extensions('publishing/nbconvert_button') -// IPython.load_extensions('publishing/printview/main') -// IPython.load_extensions('publishing/printviewmenu_button') - - // SLIDEMODE -// IPython.load_extensions('slidemode/main') - - - // STYLING -// IPython.load_extensions('styling/css_selector/main') - - // TESTING -// IPython.load_extensions('testing/hierarchical_collapse/main') - - // USABILITY -// IPython.load_extensions('usability/aspell/ipy-aspell') -// IPython.load_extensions('usability/codefolding/main') -// IPython.load_extensions('usability/dragdrop/drag-and-drop') -// IPython.load_extensions('usability/runtools/main') -// IPython.load_extensions('usability/chrome_clipboard/main') -// IPython.load_extensions('usability/navigation-hotkeys/main') -// IPython.load_extensions('usability/toggle_all_line_number') -// IPython.load_extensions('usability/help_panel/help_panel') -// IPython.load_extensions('usability/hide_input/main') -// IPython.load_extensions('usability/split-combine') -// IPython.load_extensions('usability/read-only') -// IPython.load_extensions('usability/init_cell/main') -// IPython.load_extensions('usability/limit_output/main') -// IPython.load_extensions('usability/autosavetime') -// IPython.load_extensions('usability/autoscroll') -// IPython.load_extensions('usability/breakpoints') -// IPython.load_extensions('usability/clean_start') -// IPython.load_extensions('usability/comment-uncomment') -// IPython.load_extensions('usability/linenumbers') -// IPython.load_extensions('usability/no_exec_dunder') -// IPython.load_extensions('usability/noscroll') -// IPython.load_extensions('usability/hide_io_selected') -// IPython.load_extensions('usability/execute_time/ExecuteTime') -// IPython.load_extensions('usability/python-markdown/main') - - }); -}); - diff --git a/usability/codefolding/codefolding.py b/extensions/codefolding.py similarity index 100% rename from usability/codefolding/codefolding.py rename to extensions/codefolding.py diff --git a/extensions/embed.py b/extensions/embed.py new file mode 100755 index 0000000..ac16f17 --- /dev/null +++ b/extensions/embed.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +"""PostProcessor for embedding markdown images in HTML files.""" +from __future__ import print_function + +import os +import re +import base64 +import requests + +from traitlets import Bool, Unicode, Int +from nbconvert.postprocessors.base import PostProcessorBase + + +class EmbedPostProcessor(PostProcessorBase): + """ Post processor designed to embed images in markdown cells as base64 encoded blob in HTML file """ + + def replfunc(self, match): + """ replace source url or file link with base64 encoded blob """ + url = match.group(1) + imgformat = url.split('.')[-1] + if url.startswith('http'): + data = request.get(url) + elif url.startswith('data'): + img = '' + return img + else: + with open(url, 'rb') as f: + data = f.read() + + self.log.info("embedding url: %s, format: %s" % (url, imgformat)) + b64_data=base64.b64encode(data).decode("utf-8") + if imgformat == "svg": + img = '' + elif imgformat == "pdf": + img = '' + else: + img = '' + return img + + def postprocess(self, input): + regex = re.compile('') + ext = input.split('.')[-1] + output=input[0:-(len(ext)+1)] + '-embedded.' + ext + with open(input) as fin, open(output,'w') as fout: + for line in fin: + fout.write(regex.sub(self.replfunc,line)) + fin.close() + fout.close() diff --git a/usability/aspell/ipy-aspell-server.py b/extensions/ipy-aspell-server.py similarity index 100% rename from usability/aspell/ipy-aspell-server.py rename to extensions/ipy-aspell-server.py diff --git a/config/nbextensions.py b/extensions/nbextensions.py similarity index 57% rename from config/nbextensions.py rename to extensions/nbextensions.py index 5f30b71..6573edf 100644 --- a/config/nbextensions.py +++ b/extensions/nbextensions.py @@ -12,14 +12,14 @@ import os import yaml import json +jupyterdir = jupyter_data_dir() +nbextensions = (get_nbext_dir(), os.path.join(jupyterdir,'nbextensions')) +exclude = [ 'mathjax' ] class NBExtensionHandler(IPythonHandler): """Render the notebook extension configuration interface.""" @web.authenticated def get(self): - jupyterdir = jupyter_data_dir() - nbextensions = (get_nbext_dir(), os.path.join(jupyterdir,'nbextensions')) - exclude = [ 'mathjax' ] yaml_list = [] # Traverse through nbextension subdirectories to find all yaml files for root, dirs, files in chain.from_iterable(os.walk(root) for root in nbextensions): @@ -55,16 +55,56 @@ class NBExtensionHandler(IPythonHandler): self.log.info("Found extension %s" % extension['Name']) stream.close() json_list = json.dumps(extension_list) + # find where the Javascript code and the readme file are + config_js = None + config_md = None + for root, dirs, files in chain.from_iterable(os.walk(root) for root in nbextensions): + dirs[:] = [d for d in dirs if d not in exclude] + for f in files: + if root.endswith('nbconfig') and f =='main.js': + config_js = os.path.join(root, f) + if root.endswith('nbconfig') and f =='readme.md': + config_md = os.path.join(root, f) + if config_js is None: raise FileNotFoundError('Could not find nbconfig Javascript') + idx_js=config_js.find('nbextensions') + idx_md=config_js.find('nbextensions') self.write(self.render_template('nbextensions.html', base_url = self.base_url, extension_list = json_list, - page_title="Notebook Extension Configuration" + page_title="Notebook Extension Configuration", + config_js = self.base_url + config_js[idx_js::].replace('\\', '/'), + config_md = self.base_url + 'rendermd/' + config_md[idx_md::].replace('\\', '/') ) ) - + + +class RenderExtensionHandler(IPythonHandler): + """Render given markdown file""" + @web.authenticated + def get(self, path): + render_js = None + for root, dirs, files in chain.from_iterable(os.walk(root) for root in nbextensions): + dirs[:] = [d for d in dirs if d not in exclude] + for f in files: + if root.endswith('nbconfig') and f =='render.js': + render_js = os.path.join(root, f) + if render_js is None: raise FileNotFoundError('Could not find nbconfig Javascript') + idx_js=render_js.find('nbextensions') + self.write(self.render_template('rendermd.html', + base_url = self.base_url, + render_url = path, + page_title = path, + render_js = self.base_url + render_js[idx_js::].replace('\\', '/'), + ) + ) + + def load_jupyter_server_extension(nbapp): webapp = nbapp.web_app base_url = webapp.settings['base_url'] + mdregex = r'([^"\'>]+.md)' webapp.add_handlers(".*$", [ + (ujoin(base_url, r"/rendermd/%s" % mdregex), RenderExtensionHandler), + (ujoin(base_url, r"/nbextensions"), NBExtensionHandler), (ujoin(base_url, r"/nbextensions/"), NBExtensionHandler) ]) diff --git a/usability/python-markdown/pymdpreprocessor.py b/extensions/pymdpreprocessor.py similarity index 100% rename from usability/python-markdown/pymdpreprocessor.py rename to extensions/pymdpreprocessor.py diff --git a/publishing/gist_it.js b/nbextensions/publishing/gist_it.js similarity index 100% rename from publishing/gist_it.js rename to nbextensions/publishing/gist_it.js diff --git a/publishing/htmltools/js_highlight.py b/nbextensions/publishing/htmltools/js_highlight.py similarity index 100% rename from publishing/htmltools/js_highlight.py rename to nbextensions/publishing/htmltools/js_highlight.py diff --git a/publishing/nbconvert_button.js b/nbextensions/publishing/nbconvert_button.js similarity index 100% rename from publishing/nbconvert_button.js rename to nbextensions/publishing/nbconvert_button.js diff --git a/publishing/nbviewer_theme/css/compact.css b/nbextensions/publishing/nbviewer_theme/css/compact.css similarity index 100% rename from publishing/nbviewer_theme/css/compact.css rename to nbextensions/publishing/nbviewer_theme/css/compact.css diff --git a/publishing/nbviewer_theme/css/dark.css b/nbextensions/publishing/nbviewer_theme/css/dark.css similarity index 100% rename from publishing/nbviewer_theme/css/dark.css rename to nbextensions/publishing/nbviewer_theme/css/dark.css diff --git a/publishing/nbviewer_theme/css/duck.css b/nbextensions/publishing/nbviewer_theme/css/duck.css similarity index 100% rename from publishing/nbviewer_theme/css/duck.css rename to nbextensions/publishing/nbviewer_theme/css/duck.css diff --git a/publishing/nbviewer_theme/main.js b/nbextensions/publishing/nbviewer_theme/main.js similarity index 100% rename from publishing/nbviewer_theme/main.js rename to nbextensions/publishing/nbviewer_theme/main.js diff --git a/publishing/printview/icon.png b/nbextensions/publishing/printview/icon.png similarity index 100% rename from publishing/printview/icon.png rename to nbextensions/publishing/printview/icon.png diff --git a/publishing/printview/main.js b/nbextensions/publishing/printview/main.js similarity index 100% rename from publishing/printview/main.js rename to nbextensions/publishing/printview/main.js diff --git a/wiki-images/printview-button.png b/nbextensions/publishing/printview/printview-button.png similarity index 100% rename from wiki-images/printview-button.png rename to nbextensions/publishing/printview/printview-button.png diff --git a/publishing/printview/printview.yaml b/nbextensions/publishing/printview/printview.yaml similarity index 100% rename from publishing/printview/printview.yaml rename to nbextensions/publishing/printview/printview.yaml diff --git a/publishing/printviewmenu_button.js b/nbextensions/publishing/printviewmenu_button.js similarity index 100% rename from publishing/printviewmenu_button.js rename to nbextensions/publishing/printviewmenu_button.js diff --git a/slidemode/README.md b/nbextensions/slidemode/README.md similarity index 100% rename from slidemode/README.md rename to nbextensions/slidemode/README.md diff --git a/slidemode/main.css b/nbextensions/slidemode/main.css similarity index 100% rename from slidemode/main.css rename to nbextensions/slidemode/main.css diff --git a/slidemode/main.js b/nbextensions/slidemode/main.js similarity index 100% rename from slidemode/main.js rename to nbextensions/slidemode/main.js diff --git a/styling/css_selector/css/compact.css b/nbextensions/styling/css_selector/css/compact.css similarity index 100% rename from styling/css_selector/css/compact.css rename to nbextensions/styling/css_selector/css/compact.css diff --git a/styling/css_selector/css/dark.css b/nbextensions/styling/css_selector/css/dark.css similarity index 100% rename from styling/css_selector/css/dark.css rename to nbextensions/styling/css_selector/css/dark.css diff --git a/styling/css_selector/css/duck.css b/nbextensions/styling/css_selector/css/duck.css similarity index 100% rename from styling/css_selector/css/duck.css rename to nbextensions/styling/css_selector/css/duck.css diff --git a/styling/css_selector/css/xkcd.css b/nbextensions/styling/css_selector/css/xkcd.css similarity index 100% rename from styling/css_selector/css/xkcd.css rename to nbextensions/styling/css_selector/css/xkcd.css diff --git a/styling/css_selector/main.js b/nbextensions/styling/css_selector/main.js similarity index 100% rename from styling/css_selector/main.js rename to nbextensions/styling/css_selector/main.js diff --git a/styling/zenmode/images/back1.jpg b/nbextensions/styling/zenmode/images/back1.jpg similarity index 100% rename from styling/zenmode/images/back1.jpg rename to nbextensions/styling/zenmode/images/back1.jpg diff --git a/styling/zenmode/images/back11.jpg b/nbextensions/styling/zenmode/images/back11.jpg similarity index 100% rename from styling/zenmode/images/back11.jpg rename to nbextensions/styling/zenmode/images/back11.jpg diff --git a/styling/zenmode/images/back12.jpg b/nbextensions/styling/zenmode/images/back12.jpg similarity index 100% rename from styling/zenmode/images/back12.jpg rename to nbextensions/styling/zenmode/images/back12.jpg diff --git a/styling/zenmode/images/back2.jpg b/nbextensions/styling/zenmode/images/back2.jpg similarity index 100% rename from styling/zenmode/images/back2.jpg rename to nbextensions/styling/zenmode/images/back2.jpg diff --git a/styling/zenmode/images/back21.jpg b/nbextensions/styling/zenmode/images/back21.jpg similarity index 100% rename from styling/zenmode/images/back21.jpg rename to nbextensions/styling/zenmode/images/back21.jpg diff --git a/styling/zenmode/images/back22.jpg b/nbextensions/styling/zenmode/images/back22.jpg similarity index 100% rename from styling/zenmode/images/back22.jpg rename to nbextensions/styling/zenmode/images/back22.jpg diff --git a/styling/zenmode/images/back3.jpg b/nbextensions/styling/zenmode/images/back3.jpg similarity index 100% rename from styling/zenmode/images/back3.jpg rename to nbextensions/styling/zenmode/images/back3.jpg diff --git a/styling/zenmode/images/ipynblogo0.png b/nbextensions/styling/zenmode/images/ipynblogo0.png similarity index 100% rename from styling/zenmode/images/ipynblogo0.png rename to nbextensions/styling/zenmode/images/ipynblogo0.png diff --git a/styling/zenmode/images/ipynblogo1.png b/nbextensions/styling/zenmode/images/ipynblogo1.png similarity index 100% rename from styling/zenmode/images/ipynblogo1.png rename to nbextensions/styling/zenmode/images/ipynblogo1.png diff --git a/styling/zenmode/main.css b/nbextensions/styling/zenmode/main.css similarity index 100% rename from styling/zenmode/main.css rename to nbextensions/styling/zenmode/main.css diff --git a/styling/zenmode/main.js b/nbextensions/styling/zenmode/main.js similarity index 100% rename from styling/zenmode/main.js rename to nbextensions/styling/zenmode/main.js diff --git a/testing/cellstate.js b/nbextensions/testing/cellstate.js similarity index 100% rename from testing/cellstate.js rename to nbextensions/testing/cellstate.js diff --git a/testing/hierarchical_collapse/hierarchical_collapse.tpl b/nbextensions/testing/hierarchical_collapse/hierarchical_collapse.tpl similarity index 100% rename from testing/hierarchical_collapse/hierarchical_collapse.tpl rename to nbextensions/testing/hierarchical_collapse/hierarchical_collapse.tpl diff --git a/testing/hierarchical_collapse/hierarchical_collapse_preprocessor.py b/nbextensions/testing/hierarchical_collapse/hierarchical_collapse_preprocessor.py similarity index 100% rename from testing/hierarchical_collapse/hierarchical_collapse_preprocessor.py rename to nbextensions/testing/hierarchical_collapse/hierarchical_collapse_preprocessor.py diff --git a/testing/hierarchical_collapse/ipython_nbconvert_config.py b/nbextensions/testing/hierarchical_collapse/ipython_nbconvert_config.py similarity index 100% rename from testing/hierarchical_collapse/ipython_nbconvert_config.py rename to nbextensions/testing/hierarchical_collapse/ipython_nbconvert_config.py diff --git a/testing/hierarchical_collapse/main.css b/nbextensions/testing/hierarchical_collapse/main.css similarity index 100% rename from testing/hierarchical_collapse/main.css rename to nbextensions/testing/hierarchical_collapse/main.css diff --git a/testing/hierarchical_collapse/main.js b/nbextensions/testing/hierarchical_collapse/main.js similarity index 100% rename from testing/hierarchical_collapse/main.js rename to nbextensions/testing/hierarchical_collapse/main.js diff --git a/testing/history/history.js b/nbextensions/testing/history/history.js similarity index 100% rename from testing/history/history.js rename to nbextensions/testing/history/history.js diff --git a/testing/history/ipy_nb_history_websocket.py b/nbextensions/testing/history/ipy_nb_history_websocket.py similarity index 100% rename from testing/history/ipy_nb_history_websocket.py rename to nbextensions/testing/history/ipy_nb_history_websocket.py diff --git a/testing/swc/main.js b/nbextensions/testing/swc/main.js similarity index 100% rename from testing/swc/main.js rename to nbextensions/testing/swc/main.js diff --git a/usability/aspell/ipy-aspell.css b/nbextensions/usability/aspell/ipy-aspell.css similarity index 100% rename from usability/aspell/ipy-aspell.css rename to nbextensions/usability/aspell/ipy-aspell.css diff --git a/usability/aspell/ipy-aspell.js b/nbextensions/usability/aspell/ipy-aspell.js similarity index 100% rename from usability/aspell/ipy-aspell.js rename to nbextensions/usability/aspell/ipy-aspell.js diff --git a/usability/autosavetime.js b/nbextensions/usability/autosavetime.js similarity index 100% rename from usability/autosavetime.js rename to nbextensions/usability/autosavetime.js diff --git a/usability/autoscroll.js b/nbextensions/usability/autoscroll.js similarity index 100% rename from usability/autoscroll.js rename to nbextensions/usability/autoscroll.js diff --git a/usability/breakpoints.js b/nbextensions/usability/breakpoints.js similarity index 100% rename from usability/breakpoints.js rename to nbextensions/usability/breakpoints.js diff --git a/usability/chrome-clipboard/chrome-clipboard.yaml b/nbextensions/usability/chrome-clipboard/chrome-clipboard.yaml similarity index 100% rename from usability/chrome-clipboard/chrome-clipboard.yaml rename to nbextensions/usability/chrome-clipboard/chrome-clipboard.yaml diff --git a/usability/chrome-clipboard/chrome.png b/nbextensions/usability/chrome-clipboard/chrome.png similarity index 100% rename from usability/chrome-clipboard/chrome.png rename to nbextensions/usability/chrome-clipboard/chrome.png diff --git a/usability/chrome-clipboard/main.js b/nbextensions/usability/chrome-clipboard/main.js similarity index 100% rename from usability/chrome-clipboard/main.js rename to nbextensions/usability/chrome-clipboard/main.js diff --git a/usability/clean_start.js b/nbextensions/usability/clean_start.js similarity index 100% rename from usability/clean_start.js rename to nbextensions/usability/clean_start.js diff --git a/usability/codefolding/codefolding.yaml b/nbextensions/usability/codefolding/codefolding.yaml similarity index 100% rename from usability/codefolding/codefolding.yaml rename to nbextensions/usability/codefolding/codefolding.yaml diff --git a/wiki-images/codefolding_firstline_folded.png b/nbextensions/usability/codefolding/codefolding_firstline_folded.png similarity index 100% rename from wiki-images/codefolding_firstline_folded.png rename to nbextensions/usability/codefolding/codefolding_firstline_folded.png diff --git a/wiki-images/codefolding_firstline_unfolded.png b/nbextensions/usability/codefolding/codefolding_firstline_unfolded.png similarity index 100% rename from wiki-images/codefolding_firstline_unfolded.png rename to nbextensions/usability/codefolding/codefolding_firstline_unfolded.png diff --git a/wiki-images/codefolding_indent_folded_1.png b/nbextensions/usability/codefolding/codefolding_indent_folded_1.png similarity index 100% rename from wiki-images/codefolding_indent_folded_1.png rename to nbextensions/usability/codefolding/codefolding_indent_folded_1.png diff --git a/wiki-images/codefolding_indent_folded_2.png b/nbextensions/usability/codefolding/codefolding_indent_folded_2.png similarity index 100% rename from wiki-images/codefolding_indent_folded_2.png rename to nbextensions/usability/codefolding/codefolding_indent_folded_2.png diff --git a/wiki-images/codefolding_indent_unfolded.png b/nbextensions/usability/codefolding/codefolding_indent_unfolded.png similarity index 100% rename from wiki-images/codefolding_indent_unfolded.png rename to nbextensions/usability/codefolding/codefolding_indent_unfolded.png diff --git a/usability/codefolding/firstline-fold.js b/nbextensions/usability/codefolding/firstline-fold.js similarity index 100% rename from usability/codefolding/firstline-fold.js rename to nbextensions/usability/codefolding/firstline-fold.js diff --git a/usability/codefolding/foldgutter.css b/nbextensions/usability/codefolding/foldgutter.css similarity index 100% rename from usability/codefolding/foldgutter.css rename to nbextensions/usability/codefolding/foldgutter.css diff --git a/usability/codefolding/icon.png b/nbextensions/usability/codefolding/icon.png similarity index 100% rename from usability/codefolding/icon.png rename to nbextensions/usability/codefolding/icon.png diff --git a/usability/codefolding/magic-fold.js b/nbextensions/usability/codefolding/magic-fold.js similarity index 100% rename from usability/codefolding/magic-fold.js rename to nbextensions/usability/codefolding/magic-fold.js diff --git a/usability/codefolding/main.js b/nbextensions/usability/codefolding/main.js similarity index 100% rename from usability/codefolding/main.js rename to nbextensions/usability/codefolding/main.js diff --git a/usability/comment-uncomment.js b/nbextensions/usability/comment-uncomment.js similarity index 100% rename from usability/comment-uncomment.js rename to nbextensions/usability/comment-uncomment.js diff --git a/usability/dragdrop/dragdrop.yaml b/nbextensions/usability/dragdrop/dragdrop.yaml similarity index 100% rename from usability/dragdrop/dragdrop.yaml rename to nbextensions/usability/dragdrop/dragdrop.yaml diff --git a/usability/dragdrop/embed.py b/nbextensions/usability/dragdrop/embed.py similarity index 100% rename from usability/dragdrop/embed.py rename to nbextensions/usability/dragdrop/embed.py diff --git a/usability/dragdrop/icon.png b/nbextensions/usability/dragdrop/icon.png similarity index 100% rename from usability/dragdrop/icon.png rename to nbextensions/usability/dragdrop/icon.png diff --git a/usability/dragdrop/main.js b/nbextensions/usability/dragdrop/main.js similarity index 100% rename from usability/dragdrop/main.js rename to nbextensions/usability/dragdrop/main.js diff --git a/usability/execute_time/ExecuteTime.css b/nbextensions/usability/execute_time/ExecuteTime.css similarity index 100% rename from usability/execute_time/ExecuteTime.css rename to nbextensions/usability/execute_time/ExecuteTime.css diff --git a/usability/execute_time/ExecuteTime.js b/nbextensions/usability/execute_time/ExecuteTime.js similarity index 100% rename from usability/execute_time/ExecuteTime.js rename to nbextensions/usability/execute_time/ExecuteTime.js diff --git a/usability/execute_time/ExecuteTime.yaml b/nbextensions/usability/execute_time/ExecuteTime.yaml similarity index 100% rename from usability/execute_time/ExecuteTime.yaml rename to nbextensions/usability/execute_time/ExecuteTime.yaml diff --git a/wiki-images/execution-timings-box.png b/nbextensions/usability/execute_time/execution-timings-box.png similarity index 100% rename from wiki-images/execution-timings-box.png rename to nbextensions/usability/execute_time/execution-timings-box.png diff --git a/wiki-images/execution-timings-menu.png b/nbextensions/usability/execute_time/execution-timings-menu.png similarity index 100% rename from wiki-images/execution-timings-menu.png rename to nbextensions/usability/execute_time/execution-timings-menu.png diff --git a/usability/execute_time/icon.png b/nbextensions/usability/execute_time/icon.png similarity index 100% rename from usability/execute_time/icon.png rename to nbextensions/usability/execute_time/icon.png diff --git a/usability/exercise/main.css b/nbextensions/usability/exercise/main.css similarity index 100% rename from usability/exercise/main.css rename to nbextensions/usability/exercise/main.css diff --git a/usability/exercise/main.js b/nbextensions/usability/exercise/main.js similarity index 100% rename from usability/exercise/main.js rename to nbextensions/usability/exercise/main.js diff --git a/usability/help_panel/help_panel.css b/nbextensions/usability/help_panel/help_panel.css similarity index 100% rename from usability/help_panel/help_panel.css rename to nbextensions/usability/help_panel/help_panel.css diff --git a/usability/help_panel/help_panel.js b/nbextensions/usability/help_panel/help_panel.js similarity index 100% rename from usability/help_panel/help_panel.js rename to nbextensions/usability/help_panel/help_panel.js diff --git a/usability/hide_input.js b/nbextensions/usability/hide_input.js similarity index 100% rename from usability/hide_input.js rename to nbextensions/usability/hide_input.js diff --git a/wiki-images/hide_input_all_hide.png b/nbextensions/usability/hide_input/hide_input_all_hide.png similarity index 100% rename from wiki-images/hide_input_all_hide.png rename to nbextensions/usability/hide_input/hide_input_all_hide.png diff --git a/wiki-images/hide_input_all_show.png b/nbextensions/usability/hide_input/hide_input_all_show.png similarity index 100% rename from wiki-images/hide_input_all_show.png rename to nbextensions/usability/hide_input/hide_input_all_show.png diff --git a/usability/hide_input/main.js b/nbextensions/usability/hide_input/main.js similarity index 100% rename from usability/hide_input/main.js rename to nbextensions/usability/hide_input/main.js diff --git a/usability/hide_input/strip_output_prompt.py b/nbextensions/usability/hide_input/strip_output_prompt.py similarity index 100% rename from usability/hide_input/strip_output_prompt.py rename to nbextensions/usability/hide_input/strip_output_prompt.py diff --git a/usability/hide_input_all.js b/nbextensions/usability/hide_input_all.js similarity index 100% rename from usability/hide_input_all.js rename to nbextensions/usability/hide_input_all.js diff --git a/usability/init_cell/main.js b/nbextensions/usability/init_cell/main.js similarity index 100% rename from usability/init_cell/main.js rename to nbextensions/usability/init_cell/main.js diff --git a/usability/latex_envs/bibInNb4.js b/nbextensions/usability/latex_envs/bibInNb4.js similarity index 100% rename from usability/latex_envs/bibInNb4.js rename to nbextensions/usability/latex_envs/bibInNb4.js diff --git a/usability/latex_envs/bibtex2.js b/nbextensions/usability/latex_envs/bibtex2.js similarity index 100% rename from usability/latex_envs/bibtex2.js rename to nbextensions/usability/latex_envs/bibtex2.js diff --git a/usability/latex_envs/configuration_toolbar.png b/nbextensions/usability/latex_envs/configuration_toolbar.png similarity index 100% rename from usability/latex_envs/configuration_toolbar.png rename to nbextensions/usability/latex_envs/configuration_toolbar.png diff --git a/usability/latex_envs/conversion/header.tex b/nbextensions/usability/latex_envs/conversion/header.tex similarity index 100% rename from usability/latex_envs/conversion/header.tex rename to nbextensions/usability/latex_envs/conversion/header.tex diff --git a/usability/latex_envs/conversion/ipynb_thms_to_html b/nbextensions/usability/latex_envs/conversion/ipynb_thms_to_html similarity index 100% rename from usability/latex_envs/conversion/ipynb_thms_to_html rename to nbextensions/usability/latex_envs/conversion/ipynb_thms_to_html diff --git a/usability/latex_envs/conversion/ipynb_thms_to_latex b/nbextensions/usability/latex_envs/conversion/ipynb_thms_to_latex similarity index 100% rename from usability/latex_envs/conversion/ipynb_thms_to_latex rename to nbextensions/usability/latex_envs/conversion/ipynb_thms_to_latex diff --git a/usability/latex_envs/conversion/latex_envs.css b/nbextensions/usability/latex_envs/conversion/latex_envs.css similarity index 100% rename from usability/latex_envs/conversion/latex_envs.css rename to nbextensions/usability/latex_envs/conversion/latex_envs.css diff --git a/usability/latex_envs/conversion/post_html_thms.js b/nbextensions/usability/latex_envs/conversion/post_html_thms.js similarity index 100% rename from usability/latex_envs/conversion/post_html_thms.js rename to nbextensions/usability/latex_envs/conversion/post_html_thms.js diff --git a/usability/latex_envs/conversion/readme.md b/nbextensions/usability/latex_envs/conversion/readme.md similarity index 100% rename from usability/latex_envs/conversion/readme.md rename to nbextensions/usability/latex_envs/conversion/readme.md diff --git a/usability/latex_envs/conversion/texheaders_rm.py b/nbextensions/usability/latex_envs/conversion/texheaders_rm.py similarity index 100% rename from usability/latex_envs/conversion/texheaders_rm.py rename to nbextensions/usability/latex_envs/conversion/texheaders_rm.py diff --git a/usability/latex_envs/conversion/thmInNb_tolatex.py b/nbextensions/usability/latex_envs/conversion/thmInNb_tolatex.py similarity index 100% rename from usability/latex_envs/conversion/thmInNb_tolatex.py rename to nbextensions/usability/latex_envs/conversion/thmInNb_tolatex.py diff --git a/usability/latex_envs/conversion/thmsInNb.tpl b/nbextensions/usability/latex_envs/conversion/thmsInNb.tpl similarity index 100% rename from usability/latex_envs/conversion/thmsInNb.tpl rename to nbextensions/usability/latex_envs/conversion/thmsInNb.tpl diff --git a/usability/latex_envs/conversion/thmsInNb_article.tplx b/nbextensions/usability/latex_envs/conversion/thmsInNb_article.tplx similarity index 100% rename from usability/latex_envs/conversion/thmsInNb_article.tplx rename to nbextensions/usability/latex_envs/conversion/thmsInNb_article.tplx diff --git a/usability/latex_envs/conversion/thmsInNb_book.tplx b/nbextensions/usability/latex_envs/conversion/thmsInNb_book.tplx similarity index 100% rename from usability/latex_envs/conversion/thmsInNb_book.tplx rename to nbextensions/usability/latex_envs/conversion/thmsInNb_book.tplx diff --git a/usability/latex_envs/conversion/toc_and_cln.py b/nbextensions/usability/latex_envs/conversion/toc_and_cln.py similarity index 100% rename from usability/latex_envs/conversion/toc_and_cln.py rename to nbextensions/usability/latex_envs/conversion/toc_and_cln.py diff --git a/usability/latex_envs/creating_the_directory.txt b/nbextensions/usability/latex_envs/creating_the_directory.txt similarity index 100% rename from usability/latex_envs/creating_the_directory.txt rename to nbextensions/usability/latex_envs/creating_the_directory.txt diff --git a/usability/latex_envs/doc/configuration_toolbar.png b/nbextensions/usability/latex_envs/doc/configuration_toolbar.png similarity index 100% rename from usability/latex_envs/doc/configuration_toolbar.png rename to nbextensions/usability/latex_envs/doc/configuration_toolbar.png diff --git a/usability/latex_envs/doc/documentation.pdf b/nbextensions/usability/latex_envs/doc/documentation.pdf similarity index 100% rename from usability/latex_envs/doc/documentation.pdf rename to nbextensions/usability/latex_envs/doc/documentation.pdf diff --git a/usability/latex_envs/doc/example.png b/nbextensions/usability/latex_envs/doc/example.png similarity index 100% rename from usability/latex_envs/doc/example.png rename to nbextensions/usability/latex_envs/doc/example.png diff --git a/usability/latex_envs/doc/html/.ipynb_checkpoints/latex_env_doc-checkpoint.ipynb b/nbextensions/usability/latex_envs/doc/html/.ipynb_checkpoints/latex_env_doc-checkpoint.ipynb similarity index 100% rename from usability/latex_envs/doc/html/.ipynb_checkpoints/latex_env_doc-checkpoint.ipynb rename to nbextensions/usability/latex_envs/doc/html/.ipynb_checkpoints/latex_env_doc-checkpoint.ipynb diff --git a/usability/latex_envs/doc/html/biblio_ipython.bib b/nbextensions/usability/latex_envs/doc/html/biblio_ipython.bib similarity index 100% rename from usability/latex_envs/doc/html/biblio_ipython.bib rename to nbextensions/usability/latex_envs/doc/html/biblio_ipython.bib diff --git a/usability/latex_envs/doc/html/configuration_toolbar.png b/nbextensions/usability/latex_envs/doc/html/configuration_toolbar.png similarity index 100% rename from usability/latex_envs/doc/html/configuration_toolbar.png rename to nbextensions/usability/latex_envs/doc/html/configuration_toolbar.png diff --git a/usability/latex_envs/doc/html/example.png b/nbextensions/usability/latex_envs/doc/html/example.png similarity index 100% rename from usability/latex_envs/doc/html/example.png rename to nbextensions/usability/latex_envs/doc/html/example.png diff --git a/usability/latex_envs/doc/html/latex_env_doc.html b/nbextensions/usability/latex_envs/doc/html/latex_env_doc.html similarity index 100% rename from usability/latex_envs/doc/html/latex_env_doc.html rename to nbextensions/usability/latex_envs/doc/html/latex_env_doc.html diff --git a/usability/latex_envs/doc/html/latex_env_doc.ipynb b/nbextensions/usability/latex_envs/doc/html/latex_env_doc.ipynb similarity index 100% rename from usability/latex_envs/doc/html/latex_env_doc.ipynb rename to nbextensions/usability/latex_envs/doc/html/latex_env_doc.ipynb diff --git a/usability/latex_envs/doc/html/latex_envs.css b/nbextensions/usability/latex_envs/doc/html/latex_envs.css similarity index 100% rename from usability/latex_envs/doc/html/latex_envs.css rename to nbextensions/usability/latex_envs/doc/html/latex_envs.css diff --git a/usability/latex_envs/doc/html/main_toolbar.png b/nbextensions/usability/latex_envs/doc/html/main_toolbar.png similarity index 100% rename from usability/latex_envs/doc/html/main_toolbar.png rename to nbextensions/usability/latex_envs/doc/html/main_toolbar.png diff --git a/usability/latex_envs/doc/latex/.ipynb_checkpoints/latex_env_doc-ltx-checkpoint.ipynb b/nbextensions/usability/latex_envs/doc/latex/.ipynb_checkpoints/latex_env_doc-ltx-checkpoint.ipynb similarity index 100% rename from usability/latex_envs/doc/latex/.ipynb_checkpoints/latex_env_doc-ltx-checkpoint.ipynb rename to nbextensions/usability/latex_envs/doc/latex/.ipynb_checkpoints/latex_env_doc-ltx-checkpoint.ipynb diff --git a/usability/latex_envs/doc/latex/IEEEtran.bst b/nbextensions/usability/latex_envs/doc/latex/IEEEtran.bst similarity index 100% rename from usability/latex_envs/doc/latex/IEEEtran.bst rename to nbextensions/usability/latex_envs/doc/latex/IEEEtran.bst diff --git a/usability/latex_envs/doc/latex/biblio_ipython.bib b/nbextensions/usability/latex_envs/doc/latex/biblio_ipython.bib similarity index 100% rename from usability/latex_envs/doc/latex/biblio_ipython.bib rename to nbextensions/usability/latex_envs/doc/latex/biblio_ipython.bib diff --git a/usability/latex_envs/doc/latex/configuration_toolbar.png b/nbextensions/usability/latex_envs/doc/latex/configuration_toolbar.png similarity index 100% rename from usability/latex_envs/doc/latex/configuration_toolbar.png rename to nbextensions/usability/latex_envs/doc/latex/configuration_toolbar.png diff --git a/usability/latex_envs/doc/latex/documentation.aux b/nbextensions/usability/latex_envs/doc/latex/documentation.aux similarity index 100% rename from usability/latex_envs/doc/latex/documentation.aux rename to nbextensions/usability/latex_envs/doc/latex/documentation.aux diff --git a/usability/latex_envs/doc/latex/documentation.bbl b/nbextensions/usability/latex_envs/doc/latex/documentation.bbl similarity index 100% rename from usability/latex_envs/doc/latex/documentation.bbl rename to nbextensions/usability/latex_envs/doc/latex/documentation.bbl diff --git a/usability/latex_envs/doc/latex/documentation.blg b/nbextensions/usability/latex_envs/doc/latex/documentation.blg similarity index 100% rename from usability/latex_envs/doc/latex/documentation.blg rename to nbextensions/usability/latex_envs/doc/latex/documentation.blg diff --git a/usability/latex_envs/doc/latex/documentation.log b/nbextensions/usability/latex_envs/doc/latex/documentation.log similarity index 100% rename from usability/latex_envs/doc/latex/documentation.log rename to nbextensions/usability/latex_envs/doc/latex/documentation.log diff --git a/usability/latex_envs/doc/latex/documentation.out b/nbextensions/usability/latex_envs/doc/latex/documentation.out similarity index 100% rename from usability/latex_envs/doc/latex/documentation.out rename to nbextensions/usability/latex_envs/doc/latex/documentation.out diff --git a/usability/latex_envs/doc/latex/documentation.pdf b/nbextensions/usability/latex_envs/doc/latex/documentation.pdf similarity index 100% rename from usability/latex_envs/doc/latex/documentation.pdf rename to nbextensions/usability/latex_envs/doc/latex/documentation.pdf diff --git a/usability/latex_envs/doc/latex/documentation.tex b/nbextensions/usability/latex_envs/doc/latex/documentation.tex similarity index 100% rename from usability/latex_envs/doc/latex/documentation.tex rename to nbextensions/usability/latex_envs/doc/latex/documentation.tex diff --git a/usability/latex_envs/doc/latex/documentation.toc b/nbextensions/usability/latex_envs/doc/latex/documentation.toc similarity index 100% rename from usability/latex_envs/doc/latex/documentation.toc rename to nbextensions/usability/latex_envs/doc/latex/documentation.toc diff --git a/usability/latex_envs/doc/latex/example.png b/nbextensions/usability/latex_envs/doc/latex/example.png similarity index 100% rename from usability/latex_envs/doc/latex/example.png rename to nbextensions/usability/latex_envs/doc/latex/example.png diff --git a/usability/latex_envs/doc/latex/header.tex b/nbextensions/usability/latex_envs/doc/latex/header.tex similarity index 100% rename from usability/latex_envs/doc/latex/header.tex rename to nbextensions/usability/latex_envs/doc/latex/header.tex diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx.ipynb b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx.ipynb similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx.ipynb rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx.ipynb diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx.tex b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx.tex similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx.tex rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx.tex diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_46_0.png b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_46_0.png similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_46_0.png rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_46_0.png diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_48_0.png b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_48_0.png similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_48_0.png rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_48_0.png diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_52_0.png b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_52_0.png similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_52_0.png rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_52_0.png diff --git a/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_54_0.png b/nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_54_0.png similarity index 100% rename from usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_54_0.png rename to nbextensions/usability/latex_envs/doc/latex/latex_env_doc-ltx_tmp_files/latex_env_doc-ltx_tmp_54_0.png diff --git a/usability/latex_envs/doc/latex/main_toolbar.png b/nbextensions/usability/latex_envs/doc/latex/main_toolbar.png similarity index 100% rename from usability/latex_envs/doc/latex/main_toolbar.png rename to nbextensions/usability/latex_envs/doc/latex/main_toolbar.png diff --git a/usability/latex_envs/doc/latex_env_doc.html b/nbextensions/usability/latex_envs/doc/latex_env_doc.html similarity index 100% rename from usability/latex_envs/doc/latex_env_doc.html rename to nbextensions/usability/latex_envs/doc/latex_env_doc.html diff --git a/usability/latex_envs/doc/latex_envs.css b/nbextensions/usability/latex_envs/doc/latex_envs.css similarity index 100% rename from usability/latex_envs/doc/latex_envs.css rename to nbextensions/usability/latex_envs/doc/latex_envs.css diff --git a/usability/latex_envs/doc/main_toolbar.png b/nbextensions/usability/latex_envs/doc/main_toolbar.png similarity index 100% rename from usability/latex_envs/doc/main_toolbar.png rename to nbextensions/usability/latex_envs/doc/main_toolbar.png diff --git a/usability/latex_envs/example.png b/nbextensions/usability/latex_envs/example.png similarity index 100% rename from usability/latex_envs/example.png rename to nbextensions/usability/latex_envs/example.png diff --git a/usability/latex_envs/icon.png b/nbextensions/usability/latex_envs/icon.png similarity index 100% rename from usability/latex_envs/icon.png rename to nbextensions/usability/latex_envs/icon.png diff --git a/usability/latex_envs/initNb.js b/nbextensions/usability/latex_envs/initNb.js similarity index 100% rename from usability/latex_envs/initNb.js rename to nbextensions/usability/latex_envs/initNb.js diff --git a/usability/latex_envs/latex_envs.css b/nbextensions/usability/latex_envs/latex_envs.css similarity index 100% rename from usability/latex_envs/latex_envs.css rename to nbextensions/usability/latex_envs/latex_envs.css diff --git a/usability/latex_envs/latex_envs.js b/nbextensions/usability/latex_envs/latex_envs.js similarity index 100% rename from usability/latex_envs/latex_envs.js rename to nbextensions/usability/latex_envs/latex_envs.js diff --git a/usability/latex_envs/latex_envs.yaml b/nbextensions/usability/latex_envs/latex_envs.yaml similarity index 100% rename from usability/latex_envs/latex_envs.yaml rename to nbextensions/usability/latex_envs/latex_envs.yaml diff --git a/usability/latex_envs/latex_envs.zip b/nbextensions/usability/latex_envs/latex_envs.zip similarity index 100% rename from usability/latex_envs/latex_envs.zip rename to nbextensions/usability/latex_envs/latex_envs.zip diff --git a/usability/latex_envs/latex_envs_jup.js b/nbextensions/usability/latex_envs/latex_envs_jup.js similarity index 100% rename from usability/latex_envs/latex_envs_jup.js rename to nbextensions/usability/latex_envs/latex_envs_jup.js diff --git a/usability/latex_envs/main_toolbar.png b/nbextensions/usability/latex_envs/main_toolbar.png similarity index 100% rename from usability/latex_envs/main_toolbar.png rename to nbextensions/usability/latex_envs/main_toolbar.png diff --git a/usability/latex_envs/makezip b/nbextensions/usability/latex_envs/makezip similarity index 100% rename from usability/latex_envs/makezip rename to nbextensions/usability/latex_envs/makezip diff --git a/usability/latex_envs/readme.md b/nbextensions/usability/latex_envs/readme.md similarity index 100% rename from usability/latex_envs/readme.md rename to nbextensions/usability/latex_envs/readme.md diff --git a/usability/latex_envs/thmsInNb.js b/nbextensions/usability/latex_envs/thmsInNb.js similarity index 100% rename from usability/latex_envs/thmsInNb.js rename to nbextensions/usability/latex_envs/thmsInNb.js diff --git a/usability/latex_envs/thmsInNb4.js b/nbextensions/usability/latex_envs/thmsInNb4.js similarity index 100% rename from usability/latex_envs/thmsInNb4.js rename to nbextensions/usability/latex_envs/thmsInNb4.js diff --git a/usability/limit_output/icon.png b/nbextensions/usability/limit_output/icon.png similarity index 100% rename from usability/limit_output/icon.png rename to nbextensions/usability/limit_output/icon.png diff --git a/usability/limit_output/limit-output.yaml b/nbextensions/usability/limit_output/limit-output.yaml similarity index 100% rename from usability/limit_output/limit-output.yaml rename to nbextensions/usability/limit_output/limit-output.yaml diff --git a/usability/limit_output/main.js b/nbextensions/usability/limit_output/main.js similarity index 100% rename from usability/limit_output/main.js rename to nbextensions/usability/limit_output/main.js diff --git a/usability/linenumbers.js b/nbextensions/usability/linenumbers.js similarity index 100% rename from usability/linenumbers.js rename to nbextensions/usability/linenumbers.js diff --git a/usability/navigation-hotkeys/hotkeys.yaml b/nbextensions/usability/navigation-hotkeys/hotkeys.yaml similarity index 100% rename from usability/navigation-hotkeys/hotkeys.yaml rename to nbextensions/usability/navigation-hotkeys/hotkeys.yaml diff --git a/usability/navigation-hotkeys/icon.png b/nbextensions/usability/navigation-hotkeys/icon.png similarity index 100% rename from usability/navigation-hotkeys/icon.png rename to nbextensions/usability/navigation-hotkeys/icon.png diff --git a/usability/navigation-hotkeys/main.js b/nbextensions/usability/navigation-hotkeys/main.js similarity index 100% rename from usability/navigation-hotkeys/main.js rename to nbextensions/usability/navigation-hotkeys/main.js diff --git a/usability/no_exec_dunder.js b/nbextensions/usability/no_exec_dunder.js similarity index 100% rename from usability/no_exec_dunder.js rename to nbextensions/usability/no_exec_dunder.js diff --git a/usability/noscroll.js b/nbextensions/usability/noscroll.js similarity index 100% rename from usability/noscroll.js rename to nbextensions/usability/noscroll.js diff --git a/usability/python-markdown/main.js b/nbextensions/usability/python-markdown/main.js similarity index 100% rename from usability/python-markdown/main.js rename to nbextensions/usability/python-markdown/main.js diff --git a/wiki-images/python-markdown-post.png b/nbextensions/usability/python-markdown/python-markdown-post.png similarity index 100% rename from wiki-images/python-markdown-post.png rename to nbextensions/usability/python-markdown/python-markdown-post.png diff --git a/wiki-images/python-markdown-pre.png b/nbextensions/usability/python-markdown/python-markdown-pre.png similarity index 100% rename from wiki-images/python-markdown-pre.png rename to nbextensions/usability/python-markdown/python-markdown-pre.png diff --git a/usability/python-markdown/python-markdown.png b/nbextensions/usability/python-markdown/python-markdown.png similarity index 100% rename from usability/python-markdown/python-markdown.png rename to nbextensions/usability/python-markdown/python-markdown.png diff --git a/usability/python-markdown/python-markdown.yaml b/nbextensions/usability/python-markdown/python-markdown.yaml similarity index 100% rename from usability/python-markdown/python-markdown.yaml rename to nbextensions/usability/python-markdown/python-markdown.yaml diff --git a/usability/read-only.js b/nbextensions/usability/read-only.js similarity index 100% rename from usability/read-only.js rename to nbextensions/usability/read-only.js diff --git a/usability/rubberband/icon.png b/nbextensions/usability/rubberband/icon.png similarity index 100% rename from usability/rubberband/icon.png rename to nbextensions/usability/rubberband/icon.png diff --git a/usability/rubberband/main.css b/nbextensions/usability/rubberband/main.css similarity index 100% rename from usability/rubberband/main.css rename to nbextensions/usability/rubberband/main.css diff --git a/usability/rubberband/main.js b/nbextensions/usability/rubberband/main.js similarity index 100% rename from usability/rubberband/main.js rename to nbextensions/usability/rubberband/main.js diff --git a/usability/rubberband/rubberband.yaml b/nbextensions/usability/rubberband/rubberband.yaml similarity index 100% rename from usability/rubberband/rubberband.yaml rename to nbextensions/usability/rubberband/rubberband.yaml diff --git a/usability/ruler/icon.png b/nbextensions/usability/ruler/icon.png similarity index 100% rename from usability/ruler/icon.png rename to nbextensions/usability/ruler/icon.png diff --git a/usability/ruler/main.js b/nbextensions/usability/ruler/main.js similarity index 100% rename from usability/ruler/main.js rename to nbextensions/usability/ruler/main.js diff --git a/usability/ruler/ruler.yaml b/nbextensions/usability/ruler/ruler.yaml similarity index 100% rename from usability/ruler/ruler.yaml rename to nbextensions/usability/ruler/ruler.yaml diff --git a/usability/runtools/dummy.js b/nbextensions/usability/runtools/dummy.js similarity index 100% rename from usability/runtools/dummy.js rename to nbextensions/usability/runtools/dummy.js diff --git a/usability/runtools/gutter.css b/nbextensions/usability/runtools/gutter.css similarity index 100% rename from usability/runtools/gutter.css rename to nbextensions/usability/runtools/gutter.css diff --git a/usability/runtools/icon.png b/nbextensions/usability/runtools/icon.png similarity index 100% rename from usability/runtools/icon.png rename to nbextensions/usability/runtools/icon.png diff --git a/usability/runtools/main.css b/nbextensions/usability/runtools/main.css similarity index 100% rename from usability/runtools/main.css rename to nbextensions/usability/runtools/main.css diff --git a/usability/runtools/main.js b/nbextensions/usability/runtools/main.js similarity index 100% rename from usability/runtools/main.js rename to nbextensions/usability/runtools/main.js diff --git a/wiki-images/runtools.png b/nbextensions/usability/runtools/runtools.png similarity index 100% rename from wiki-images/runtools.png rename to nbextensions/usability/runtools/runtools.png diff --git a/usability/runtools/runtools.yaml b/nbextensions/usability/runtools/runtools.yaml similarity index 100% rename from usability/runtools/runtools.yaml rename to nbextensions/usability/runtools/runtools.yaml diff --git a/wiki-images/runtools_execute.png b/nbextensions/usability/runtools/runtools_execute.png similarity index 100% rename from wiki-images/runtools_execute.png rename to nbextensions/usability/runtools/runtools_execute.png diff --git a/wiki-images/runtools_marker.png b/nbextensions/usability/runtools/runtools_marker.png similarity index 100% rename from wiki-images/runtools_marker.png rename to nbextensions/usability/runtools/runtools_marker.png diff --git a/wiki-images/runtools_nb.png b/nbextensions/usability/runtools/runtools_nb.png similarity index 100% rename from wiki-images/runtools_nb.png rename to nbextensions/usability/runtools/runtools_nb.png diff --git a/wiki-images/toggle_codecells.png b/nbextensions/usability/runtools/toggle_codecells.png similarity index 100% rename from wiki-images/toggle_codecells.png rename to nbextensions/usability/runtools/toggle_codecells.png diff --git a/usability/search-replace/icon.png b/nbextensions/usability/search-replace/icon.png similarity index 100% rename from usability/search-replace/icon.png rename to nbextensions/usability/search-replace/icon.png diff --git a/usability/search-replace/main.css b/nbextensions/usability/search-replace/main.css similarity index 100% rename from usability/search-replace/main.css rename to nbextensions/usability/search-replace/main.css diff --git a/usability/search-replace/main.js b/nbextensions/usability/search-replace/main.js similarity index 100% rename from usability/search-replace/main.js rename to nbextensions/usability/search-replace/main.js diff --git a/usability/search-replace/search-replace.yaml b/nbextensions/usability/search-replace/search-replace.yaml similarity index 100% rename from usability/search-replace/search-replace.yaml rename to nbextensions/usability/search-replace/search-replace.yaml diff --git a/usability/search.js b/nbextensions/usability/search.js similarity index 100% rename from usability/search.js rename to nbextensions/usability/search.js diff --git a/usability/skip-traceback/icon.png b/nbextensions/usability/skip-traceback/icon.png similarity index 100% rename from usability/skip-traceback/icon.png rename to nbextensions/usability/skip-traceback/icon.png diff --git a/usability/skip-traceback/main.js b/nbextensions/usability/skip-traceback/main.js similarity index 100% rename from usability/skip-traceback/main.js rename to nbextensions/usability/skip-traceback/main.js diff --git a/usability/skip-traceback/skip-traceback.yaml b/nbextensions/usability/skip-traceback/skip-traceback.yaml similarity index 100% rename from usability/skip-traceback/skip-traceback.yaml rename to nbextensions/usability/skip-traceback/skip-traceback.yaml diff --git a/usability/toggle_all_line_number.js b/nbextensions/usability/toggle_all_line_number.js similarity index 100% rename from usability/toggle_all_line_number.js rename to nbextensions/usability/toggle_all_line_number.js diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..b4c7b3a --- /dev/null +++ b/setup.py @@ -0,0 +1,105 @@ +# Install notebook extensions + +from jupyter_core.paths import jupyter_config_dir, jupyter_data_dir, jupyter_runtime_dir +from traitlets.config.loader import Config, JSONFileConfigLoader +import IPython.extensions +import os +import sys +import logging +import json + +# +if len(sys.argv) == 2 and sys.argv[1] == "install": + print("Installing Jupyter notebook extensions") + +exit() + +# http://stackoverflow.com/questions/12683834/how-to-copy-directory-recursively-in-python-and-overwrite-all +def recursive_overwrite(src, dest, ignore=None): + if os.path.isdir(src): + if not os.path.isdir(dest): + os.makedirs(dest) + files = os.listdir(src) + if ignore is not None: + ignored = ignore(src, files) + else: + ignored = set() + for f in files: + if f not in ignored: + recursive_overwrite(os.path.join(src, f), + os.path.join(dest, f), + ignore) + else: + shutil.copyfile(src, dest) + +# +# Get the local cofiguration file path +# +from jupyter_core.paths import jupyter_config_dir, jupyter_data_dir +config_dir = jupyter_config_dir() +data_dir = jupyter_data_dir() + +print("Configuration files directory: %s" % config_dir) +print("Extensions and templates path: %s" % data_dir) + +# +# Install files +# Indiscriminately copy all files from the nbextensions, extensions and template directories +# Currently there is no other way, because there is no definition of a notebook extension package +# + +# copy extensions to IPython extensions directory +src = 'extensions' +destination = os.path.join(data_dir, 'extensions') +print("Install Python extensions to %s" % extensions) +recursive_overwrite(src, destination) + +# Install templates +src = 'extensions' +destination = os.path.join(data_dir, 'templates') +templates = os.path.join(jupyter_data_dir(), 'templates') +print("Install templates to %s" % destination) +recursive_overwrite(src, destination) + +# Install nbextensions +src = 'nbextensions' +destination = os.path.join(data_dir, 'nbextensions') +print("Install notebook extensions to %s" % destination) +recursive_overwrite(src, destination) + +# +# Update nbconvert configuration +# +fname = os.path.join(jupyter_config_dir(), 'jupyter_nbconvert_config.json') +print("Configuring %s" % fname) +cl = JSONFileConfigLoader(fname) +config = cl.load_config() +newconfig=Config() +# Set template path, pre- and postprocessors of notebook extensions +newconfig.Exporter.template_path = [os.path.join(data_dir, 'templates') ] +newconfig.Exporter.preprocessors = ["codefolding.CodeFoldingPreprocessor", "pymdpreprocessor.PyMarkdownPreprocessor" ] +newconfig.NbConvertApp.postprocessor_class = 'embed.EmbedPostProcessor' +config.merge(newconfig) +config.version = 1 +s=json.dumps(config, indent=2, separators=(',', ': '), sort_keys=True) +with open(fname, 'w') as f: + f.write(s) + + + + +# +# Update notebook configuration +# +fname = os.path.join(config_dir, 'jupyter_notebook_config.json') +print("Configuring %s" % fname) +cl = JSONFileConfigLoader(fname, log=log) +config = cl.load_config() +newconfig=Config() +# Add server extension of /nbextension/ configuration tool +newconfig.NotebookApp.server_extensions = [ "nbextensions" ] +config.merge(newconfig) +config.version = 1 +s=json.dumps(config, indent=2, separators=(',', ': '), sort_keys=True) +with open(fname, 'w') as f: + f.write(s) diff --git a/usability/hide_input/hide_input.tpl b/templates/hide_input.tpl similarity index 100% rename from usability/hide_input/hide_input.tpl rename to templates/hide_input.tpl diff --git a/usability/runtools/hide_input_output.tpl b/templates/hide_input_output.tpl similarity index 100% rename from usability/runtools/hide_input_output.tpl rename to templates/hide_input_output.tpl diff --git a/config/nbextensions.html b/templates/nbextensions.html similarity index 68% rename from config/nbextensions.html rename to templates/nbextensions.html index 365943a..e80c369 100644 --- a/config/nbextensions.html +++ b/templates/nbextensions.html @@ -1,37 +1,37 @@ -{% extends "page.html" %} - -{% block title %}{{page_title}}{% endblock %} - -{% block stylesheet %} -{{super()}} -{% endblock %} - -{% block params %} - -data-base-url='{{base_url}}' -data-extension-list='{{extension_list}}' - -{% endblock %} - -{% block headercontainer %} - -

Notebook Extension Configuration

- -{% endblock %} - -{% block header %} - -{% endblock %} - -{% block site %} - -
- -{% endblock %} - -{% block script %} - - {{super()}} - - -{% endblock %} +{% extends "page.html" %} + +{% block title %}{{page_title}}{% endblock %} + +{% block stylesheet %} +{{super()}} +{% endblock %} + +{% block params %} + +data-base-url='{{base_url}}' +data-extension-list='{{extension_list}}' + +{% endblock %} + +{% block headercontainer %} + +

{{page_title}}

+ Readme
' +{% endblock %} + +{% block header %} + +{% endblock %} + +{% block site %} + +
+ +{% endblock %} + +{% block script %} + + {{super()}} + + +{% endblock %} diff --git a/templates/rendermd.html b/templates/rendermd.html new file mode 100755 index 0000000..7644f27 --- /dev/null +++ b/templates/rendermd.html @@ -0,0 +1,37 @@ +{% extends "page.html" %} + +{% block title %}{{page_title}}{% endblock %} + +{% block stylesheet %} +{{super()}} +{% endblock %} + +{% block params %} + +data-base-url='{{base_url}}' +data-md-url='{{render_url}}' + +{% endblock %} + +{% block headercontainer %} + +

{{ page_title }}

+ +{% endblock %} + +{% block header %} + +{% endblock %} + +{% block site %} + +
+ +{% endblock %} + +{% block script %} + + {{super()}} + + +{% endblock %} diff --git a/usability/hide_input/ipython_nbconvert_config.py b/usability/hide_input/ipython_nbconvert_config.py deleted file mode 100644 index 396edd1..0000000 --- a/usability/hide_input/ipython_nbconvert_config.py +++ /dev/null @@ -1,7 +0,0 @@ -c = get_config() - -#Export all the notebooks in the current directory to the sphinx_howto format. -c.NbConvertApp.notebooks = ['*.ipynb'] -c.NbConvertApp.export_format = 'slides' -c.Exporter.template_file = 'hide_input' -c.Exporter.filters = {'strip_output_prompt': 'strip_output_prompt.strip_output_prompt'} diff --git a/wiki-images/breakpoint_ext.png b/wiki-images/breakpoint_ext.png deleted file mode 100644 index de4ef89..0000000 Binary files a/wiki-images/breakpoint_ext.png and /dev/null differ diff --git a/wiki-images/breakpoint_ext_buttons.png b/wiki-images/breakpoint_ext_buttons.png deleted file mode 100644 index e932750..0000000 Binary files a/wiki-images/breakpoint_ext_buttons.png and /dev/null differ diff --git a/wiki-images/cellstate-1.png b/wiki-images/cellstate-1.png deleted file mode 100644 index a978978..0000000 Binary files a/wiki-images/cellstate-1.png and /dev/null differ diff --git a/wiki-images/cellstate-2.png b/wiki-images/cellstate-2.png deleted file mode 100644 index bc07c55..0000000 Binary files a/wiki-images/cellstate-2.png and /dev/null differ diff --git a/wiki-images/cellstate-3.png b/wiki-images/cellstate-3.png deleted file mode 100644 index e964bc5..0000000 Binary files a/wiki-images/cellstate-3.png and /dev/null differ diff --git a/wiki-images/help_panel_ext.png b/wiki-images/help_panel_ext.png deleted file mode 100644 index d932aa2..0000000 Binary files a/wiki-images/help_panel_ext.png and /dev/null differ diff --git a/wiki-images/help_panel_ext_button.png b/wiki-images/help_panel_ext_button.png deleted file mode 100644 index 55d51b3..0000000 Binary files a/wiki-images/help_panel_ext_button.png and /dev/null differ diff --git a/wiki-images/nbconvert-button.png b/wiki-images/nbconvert-button.png deleted file mode 100644 index d466a72..0000000 Binary files a/wiki-images/nbconvert-button.png and /dev/null differ diff --git a/wiki-images/notebook-configuration.png b/wiki-images/notebook-configuration.png deleted file mode 100644 index 0cfb705..0000000 Binary files a/wiki-images/notebook-configuration.png and /dev/null differ diff --git a/wiki-images/read_only_ext.png b/wiki-images/read_only_ext.png deleted file mode 100644 index 5df3a5f..0000000 Binary files a/wiki-images/read_only_ext.png and /dev/null differ