remix your Jupyter Notebooks as interactive slideshows
After installing (and potentially enabling) as appropriate for your environment, after launching the Jupyter Notebook, all Notebooks will show two new buttons that show/hide the slide sorter and the presenter view. Launching the sorter will trigger an interactive tour, which can be relaunched by clicking the question mark in the top right corner of the sorter.
When you are happy with your presentation, you can download the standalone HTML file from the File -> Download as -> Presentation (.html) menu item.
Note: installing directly off this repo won't work, as we don't ship the built JavaScript and CSS assets. See more about developing below.
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 --user
nbpresent.install
accepts all of the same arguments asjupyter nbextension install
.
conda install -c anaconda-nb-extensions/label/dev nbpresent
This will enable nbpresent
by default.
Stock nbconvert
doesn't store quite enough information, so you'll need to do something like this:
nbpresent -i notebooks/README.ipynb -o README.html
The resulting file can be hosted and viewed (but not edited!) on any site.
If you have installed nbbrowserpdf, you can also export to pdf:
nbpresent -i notebooks/README.ipynb -f pdf -o README.pdf
You can also pass in and get back streams:
cmd_that_generates_ipynb | nbpresent -f pdf > README.pdf
Here's the whole doc:
!nbpresent --help
usage: nbpresent [-h] [-i IPYNB] [-o OUTFILE] [-f {html,pdf}]
Generate a static nbpresent presentation from a Jupyter Notebook
optional arguments:
-h, --help show this help message and exit
-i IPYNB, --ipynb IPYNB
Input file (otherwise read from stdin)
-o OUTFILE, --outfile OUTFILE
Output file (otherwise write to stdout)
-f {html,pdf}, --out-format {html,pdf}
Output format
This assumes you have cloned this repository locally:
git clone https://github.com/Anaconda-Server/nbpresent.git
cd nbpresent
The nbpresent
nbextension is built from ./src
into ./nbpresent/static/nbresent
with:
less
for stylees6
(viababel
) for javascriptbrowserify
for packaging
The nbpresent
python module (server component) is stored in the /nbpresent
folder
You'll need conda installed, either from Anaconda or miniconda. You can import a Python 3.5 development environment named nbpresent
from ./environment.yml
.
conda update env
source activate nbpresent
We still use npm
for a lot of dependencies, so then run:
npm install
npm run build:all
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
You may also want to pass in --prefix
instead of user.
Task | Command |
---|---|
Build all of the front end assets with sourcemaps for development | npm run build |
Rebuild on every save | npm run watch |
Rebuild all of the front end assets, and optimize it | npm run dist |
Run the CasperJS and nose tests |
npm run test |
Check code style | npm run lint |
Build the conda package | npm run pkg:conda |
Build and upload the pypi package | npm run pkg:pypi |
Build the ESDoc and Sphinx documentation | npm run docs |