Development

You can install RISE in development mode in this way:

Requirements

Use your usual package manager to install the required build tools. Essentially you will need:

  • git,
  • npm and nodejs,
  • and of course jupyter;
  • sphinx comes in handy to produce the documentation.

Clone the git repo

git clone https://github.com/damianavila/RISE.git
cd RISE

Prepare a development tree

Step 1. Install the JS dependencies:

npm install

Step 2. Copy reveal (plus others) into the static folder and reset reveal.js styling:

npm run build

Notes:

  • this is all that is needed at that stage
  • later on you might want to take a look at package.json that has finer-grained targets, that the build target groups for your convenience
  • in particular, if you only need to redo css, you can do npm run build-css
  • also note that you can remove reveal.js from the static folder with npm run clean-reveal.

Install RISE in developer mode

Second, let’s install RISE in a editable form:

pip install -e .
jupyter-nbextension install rise --py --sys-prefix --symlink
jupyter-nbextension enable rise --py --sys-prefix

Notes:

  • the --symlink argument is meant to allow you to modify the JavaScript code in-place. This feature however is probably not available in Win.
  • If you cannot use this symlink trick, you will need to “re-install” the nbextension to actually see any changes you made on th JS files.
  • Also please make sure to properly and thoroughly reload your page in the browser; using Shift when reloading is generally a good idea.

Convenience

If you change the less source often, it can be convenient to enable per-save automatic building of CSS, and for that you can use:

npm run watch-less

which will update the css code from less each time a change happens on the disk. Kill with Control-C when you are done.

Plugins development

We currently have a custom plugin for the notes: notes_rise If you need to modify this part of the codebase, after you are happy with your changes, you need to login to npm and push the package containing your changes (the package will be build and upload by the npm publish command):

cd /plugin/notes/
npm login
npm publish

Finally, you need to update the main package.json file at the root directory to grab the new version you just published.