Nov 03 2022 · Aleksandra Płońska, Piotr Płoński

The 5 ways to publish Jupyter Notebook Presentation

Publish Jupyter Notebook Presentation Presentation created with Jupyter Notebook is exported to an HTML file. It is interactive, thanks to the Reveal.js library. There are several options to publish HTML presentations in the cloud.

I assume you have a presentation file created with nbconvert tool. Please rename the presentation HTML file to index.html.

1. Use GitHub Pages

Just create a repository with <your-username>.github.io and upload your HTML file with presentation (index.html). Your presentation will be available at https://your-username.github.io. It can all be done with the user interface or the command line. GitHub Pages is a free service.

2. Netlify

Netlify is a service for hosting websites. You can create an account there, create a project (website address) and upload an index.html file with your presentation - all with the graphical user interface. There is a free tier. If you want password protection, you must select a paid plan.

3. Vercel

Vercel is a similar platform to Netlify. However, you need to have your presentation in the GitHub repository (it should have an index.html name). You connect the GitHub repository to the Vercel project. All files from the GitHub repository will be served as a website. The service has a free tier.

4. AWS S3

AWS S3 is a storage service. It has the option to serve all files from the bucket publicly. You can create a public bucket and upload there index.html file with the presentation. AWS S3 will generate the public URL address for your bucket. You can access the presentation with the AWS S3 URL, or you can assign your own domain. What is more, you can use CloudFront to speed up serving.

5. Mercury

You can use Mercury framework to create parameterized presentation from Jupyter Notebook. If you use Mercury, it should be deployed on a machine with Python available. We hope that soon we will make available a service RunMercury.com that will allow users to to upload and share Jupyter Notebooks easily. It will have a free tier. Mercury has the option to share notebooks only with authenticated users.

Summary

The HTML file with Jupyter Notebook presentation can be hosted as a static website on GitHub Pages, Netlify, Vercel, or AWS S3. If you need a parameterized presentation with widgets and the option to recompute slides during the slideshow, then you can use Mercury.