remix your Jupyter Notebooks as interactive slideshows
pip install nbpresent
python -m nbpresent.install
Then either run
%reload_ext nbpresent
_every time you start the notebook or enable the extension for every notebook launch:
python -m nbpresent.install --enable
Stock nbconvert
doesn't store quite enough information, so you'll need to do something like this:
python -m nbpresent.present notebooks/README.ipynb > README.html
The resulting file can be hosted and viewed (but not edited!) on any site with fallback to Github.
There are several development scenarios
The nbpresent
nbextension is built from src
in a checked out repo with:
- less for style
- babel for es2015
- browserify for packaging
These are installed via npm
:
npm install
To build everything with sourcemaps:
npm run build
To rebuild on every save:
npm run watch
To build everything, and optimize it:
npm run build
To ensure that you always get the right assets, install the nbextension with the symlink
, force
and enable
options:
python -m nbpresent.install --overwrite --symlink --enable --user
A conda package, which pre-builds the static assets and installs itself into the local conda environment, is built from conda.recipe
conda build conda.recipe
When developing with conda, you may want to use your conda environment to store assets and configuration:
python -m nbpresent.install --overwrite --symlink --enable --prefix="${CONDA_ENV_PATH}"
A number of intermediate Dockerfiles are available for different development workflows. These are most easily managed with docker-compose.
For building a pristine conda environment, use conda_base
.
For a build of nbpresent, with all tests, use conda_build
.
For a live, running notebook with nbpresent installed, use conda
.
META: TODO: make templates?
Here is the build chain:
docker-compose build conda_base && \
docker-compose build conda_build && \
docker-compose build conda && \
docker-compose up conda