-
Notifications
You must be signed in to change notification settings - Fork 0
config extension
There is a graphical user interface for activating/deactivating installed notebook extensions by going to the '/nbextensions' URL:

This is realized using a notebook server extension, new to IPython 3.x. In order to work, this extension needs to be installed, and notebook extensions require a YAML description file in '~/.ipython/nbextensions' (or a subdirectory thereof) in order to be found.
#Setup procedure ##1. Installation All required files are originally located in the 'config' subdirectory of the repository.
- copy 'main.js' and 'main.css' to your '~/.ipython/nbextensions/config' folder
- copy 'nbextensions.py' to your '~/.ipython/extensions' folder
- copy 'nbextensions.html' and 'rendermd.html' to your '~/.ipython/templates' folder
##2. Configuration Add the following lines to your 'ipython_notebook_config.py' file (inside your profile directory, e.g. ~/.ipython/profile_default/):
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.server_extensions = ['nbextensions']
c.NotebookApp.extra_template_paths = [os.path.join(ipythondir,'templates') ]
#YAML file format
The YAML file can have any name with the extension YAML, and describes the notebook extension. Note that keys (in bold) are case-sensitive.
- Type - identifier, must be 'IPython Notebook Extension'
- Name - unique name of the extension
- Description - short explanation of the extension
- Link - a url for more documentation
- Icon - small icon (rendered 120px high, should preferably end up 400px wide. Recall HDPI displays may benefit from a 2x resolution icon).
- Main - main file that is loaded, typically 'main.js'
- Compatibility - IPython version compatibility, e.g. '3.x' or '4.x' or '3.x 4.x'
-
Parameters - Optional dictionary of configuration parameters. The keys are the names used to store the configuration variable, so should be unique among all extensions. Each value is another dictionary, which may contain the following keys:
- description - description of the configuration parameter
- default - a default value used to populate the tag on the nbextensions config page. Note that this is more of a hint to the user than anything functional - since it's only set in the yaml file, the javascript implementing the extension in question might actually use a different default, depending on the implementation.
- input_type - controls the type of html tag used to render the parameter on the configuration page. Valid values include 'text', 'textarea', 'checkbox', [html5 input tags such as 'number', 'url', 'color', ...], plus a final type of 'list'
- list_element - for parameters with input_type 'list', this is used in place of 'input_type' to render each element of the list
- finally, extras such as min step max may be used by 'number' tags for validation
Example:
Type: IPython Notebook Extension
Name: Limit Output
Description: This extension limits the number of characters that can be printed below a codecell
Link: https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/limit-output
Icon: icon.png
Main: main.js
Compatibility: 3.x 4.x
Parameters:
limit_output:
description: Number of characters to limit output to
input_type: number
default: 10000
step: 1
min: 0
Aspell
Breakpoints
Chrome Clipboard
Codefolding
Comment Uncomment
Drag and Drop
Execute Timings
Help Panel
Hide Input All
Hierarchical Collapse
International Keymap
Javascript Highlighter
LaTeX Environments
Limit Output
Linenumbers
Navigation Hotkeys
Nbconvert Button
Printview Button
Printviewmenu Button
Python Markdown
Readonly
Rubberband
Runtools
Search & Replace
Search
Shift-Tab 3.x
Skip Traceback