##// END OF EJS Templates
normalize unicode notebook filenames...
normalize unicode notebook filenames used in comparison check for notebook name change. Unless the filenames are normalized, unchanged names may result in false positives for a name change (e.g. OS X uses NFD on the filesystem, so u'\xfc' roundtripped to the filesystem will be u'u\u0308'), which can result in the first save of a notebook after open performing the following actions: 1. save the recently opened notebook 2. `old_name != new_name`, so name change detected 3. delete old_name (which is actually new_name), which ultimately deletes the just-saved notebook In master, this has a symptom of the first checkpoint failing because the first save actually deleted the file, and you can't checkpoint a notebook that doesn't exist. closes #3360
MinRK -
r10777:9585bda6
Show More
Name Size Modified Last Commit Author
/ IPython / frontend / html / notebook
auth
base
notebook
services
static
templates
tests
tree
README.md Loading ...
__init__.py Loading ...
fabfile.py Loading ...
notebookapp.py Loading ...
utils.py Loading ...

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 commited into our git repo. Our dependencies are described in the file
static/bower.json. To update our bower packages, run fab components 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/frontend/html/notebook/static/js/
# install yuidoc
npm install yuidocjs

Run YUIdoc server

From IPython/frontend/html/notebook/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.