README.md
73 lines
| 2.2 KiB
| text/x-minidsrc
|
MarkdownLexer
Brian E. Granger
|
r10439 | # IPython Notebook development | ||
Brian E. Granger
|
r10697 | ## Development dependencies | ||
Brian E. Granger
|
r10439 | |||
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`) | ||||
Brian E. Granger
|
r10697 | ## Components | ||
Brian E. Granger
|
r10439 | |||
We are moving to a model where our JavaScript dependencies are managed using | ||||
[bower](http://bower.io/). 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. | ||||
Brian E. Granger
|
r10697 | ## less | ||
Brian E. Granger
|
r10439 | |||
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. | ||||
Brian E. Granger
|
r10697 | ## 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 : | ||||
```bash | ||||
MinRK
|
r11035 | cd IPython/html/static/js/ | ||
Brian E. Granger
|
r10697 | # install yuidoc | ||
npm install yuidocjs | ||||
``` | ||||
### Run YUIdoc server | ||||
MinRK
|
r11035 | From IPython/html/static/js/ | ||
Brian E. Granger
|
r10697 | ```bash | ||
# run yuidoc for install dir | ||||
./node_modules/yuidocjs/lib/cli.js --server . | ||||
``` | ||||
Follow the instruction and the documentation should be available on localhost:3000 | ||||
Fernando Perez
|
r11024 | Omitting `--server` will build a static version in the `out` folder by default. | ||