notebook/IPython/html
Thomas Kluyver b55903b2eb Merge pull request #5700 from minrk/configurable-managers
make the various manager classes in the notebook app configurable
2014-04-25 12:48:31 -07:00
..
auth
base log error message when API requests fail 2014-04-23 12:41:27 -07:00
nbconvert support pdf export in the notebook UI 2014-04-10 21:13:41 -07:00
notebook better log message in deprecated files/ redirect 2014-03-20 14:38:44 -07:00
services create checkpoints dir in notebook subdirectories 2014-04-23 13:30:23 -07:00
static Adjusted "rawcell" toolbar preset to make us of the new "register_callback" 2014-04-23 15:57:17 +02:00
templates Merge pull request #5586 from minrk/pdf-exporter 2014-04-22 13:15:22 -07:00
tests Add javascript tests for placeholder feature 2014-04-17 16:51:02 -04:00
tree fix test suite 2014-03-03 16:02:07 -08:00
widgets Fix copy & paste error in docstring. 2014-04-20 01:06:44 +01:00
__init__.py
__main__.py
fabfile.py Better lessc detection/handling. 2014-04-15 23:56:46 -04:00
log.py
nbextensions.py
notebookapp.py make the various manager classes in the notebook app configurable 2014-04-22 14:50:51 -07:00
README.md correct instructions for updating components 2014-02-28 20:04:22 -08:00
utils.py only check listdir on dirs 2014-03-20 14:40:39 -07:00

IPython Notebook development

Development dependencies

Developers of the IPython Notebook will need to install the following tools:

  • fabric
  • node.js
  • less (npm install -g less)
  • bower (npm install -g bower)

Components

We are moving to a model where our JavaScript dependencies are managed using bower. These packages are installed in static/components and committed into our git repo. Our dependencies are described in the file static/components/bower.json. To update our bower packages, run fab update in this directory.

Because CodeMirror does not use proper semantic versioning for its GitHub tags, we maintain our own fork of CodeMirror that is used with bower. This fork should track the upstream CodeMirror exactly; the only difference is that we are adding semantic versioned tags to our repo.

less

If you edit our .less files you will need to run the less compiler to build our minified css files. This can be done by running fab css from this directory.

JavaScript Documentation

How to Build/ view the doc for JavaScript. JavaScript documentation should follow a style close to JSDoc one, so you should be able to build them with your favorite documentation builder. Still the documentation comment are mainly written to be read with YUI doc. You can either build a static version, or start a YUIdoc server that will live update the doc at every page request.

To do so, you will need to install YUIdoc.

Install NodeJS

Node is a browser less javascript interpreter. To install it please refer to the documentation for your platform. Install also NPM (node package manager) if it does not come bundled with it.

Get YUIdoc

npm does by default install package in ./node_modules instead of doing a system wide install. I'll leave you to yuidoc docs if you want to make a system wide install.

First, cd into js directory :

cd IPython/html/static/js/
# install yuidoc
npm install yuidocjs

Run YUIdoc server

From IPython/html/static/js/

# run yuidoc for install dir 
./node_modules/yuidocjs/lib/cli.js --server .

Follow the instruction and the documentation should be available on localhost:3000

Omitting --server will build a static version in the out folder by default.