Live reveal.js slideshow for MyST Markdown notebooks in JupyterLab.
Project description
jupyterlab-myst-revealjs
Live reveal.js slideshow for MyST Markdown notebooks in JupyterLab.
Open any notebook as a slideshow panel beside the notebook editor. Markdown cells are rendered via jupyterlab-myst, code cells use JupyterLab's native CodeCell widget — execute code and see results on slides in real time.
Features
- reveal.js slideshow — present notebooks as reveal.js slides directly in JupyterLab
- Slide structure —
slide,subslide,fragment,skipvia cell metadata - MyST Markdown — admonitions, math, cross-references, and all MyST directives
- Live code execution — Shift+Enter runs code cells on slides (shared kernel with notebook)
- Cell tags
- Jupyter Book compatible —
hide-input,hide-output,hide-cell,remove-input,remove-output,remove-cell - Grid layout —
gridwidth-*tags for multi-column layouts
- Jupyter Book compatible —
- Customization
- Slide backgrounds — per-slide background color/image via cell metadata
- Themes — 6 bundled reveal.js themes (black, white, dracula, serif, and more)
- Custom CSS — drop a
myst-revealjs.cssnext to your notebook for custom styling - Header / Footer — CSS-based overlays customizable via
myst-revealjs.css
- Keyboard controls
- Code visibility toggle —
i/okeys to toggle input/output on focused code cells during the slideshow - Fullscreen / Overview —
ffor fullscreen,ofor slide overview
- Code visibility toggle —
Requirements
- JupyterLab >= 4.0.0
- jupyterlab-myst
- jupyterlab-gridwidth (optional — for
gridwidth-*tag preview in notebook view)
Install
pip install jupyterlab-myst-revealjs
No Node.js required — this is a prebuilt extension.
Uninstall
pip uninstall jupyterlab-myst-revealjs
Quick Start
- Open a notebook in JupyterLab.
- Click the slideshow button in the toolbar, or run
slideshow:openfrom the Command Palette. - Set slide types via the Property Inspector (right sidebar).
- Press Shift+Enter on code cells to execute them on slides.
Configuration
Add a myst-revealjs key to your notebook metadata to configure reveal.js options:
{
"myst-revealjs": {
"theme": "white",
"transition": "fade",
"slideNumber": true
}
}
See the documentation for full configuration options, cell metadata reference, and migration guide from RISE.
Development
Building
uv venv && uv pip install -e ".[dev]"
jlpm install && jlpm build
jupyter labextension develop . --overwrite
Run jlpm watch in one terminal and jupyter lab in another for live development.
Testing
jlpm test # Unit tests (Jest)
cd ui-tests && jlpm test # E2E tests (Playwright + Galata)
See CONTRIBUTING for details.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyterlab_myst_revealjs-1.4.0.tar.gz.
File metadata
- Download URL: jupyterlab_myst_revealjs-1.4.0.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c59ca8294df389ce7e8991b618ff166a3c187b0e2338cd588f7578f81e836396
|
|
| MD5 |
d5c0d67a6216f1153c56485466b10821
|
|
| BLAKE2b-256 |
bcba0b9696c74cf3e93244d54d44b7c89f916881fbe7057b9ebde1b9e9c70356
|
Provenance
The following attestation bundles were made for jupyterlab_myst_revealjs-1.4.0.tar.gz:
Publisher:
publish.yml on CojiroSasaki/jupyterlab-myst-revealjs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_myst_revealjs-1.4.0.tar.gz -
Subject digest:
c59ca8294df389ce7e8991b618ff166a3c187b0e2338cd588f7578f81e836396 - Sigstore transparency entry: 1385499929
- Sigstore integration time:
-
Permalink:
CojiroSasaki/jupyterlab-myst-revealjs@79c1fdd179383745480d1fc2feca6413907665b0 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/CojiroSasaki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@79c1fdd179383745480d1fc2feca6413907665b0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file jupyterlab_myst_revealjs-1.4.0-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_myst_revealjs-1.4.0-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dd4d2f661cd0422148f2e92b1cbbfe8c93ae8ac9123d47bbc1e5187a769aa6d
|
|
| MD5 |
bbaccff7e9391e9da0ee11c1ea59ab3b
|
|
| BLAKE2b-256 |
21de126cbd1c584224a1a9877dfc752404b8324ad009a851a344b2eac32d3279
|
Provenance
The following attestation bundles were made for jupyterlab_myst_revealjs-1.4.0-py3-none-any.whl:
Publisher:
publish.yml on CojiroSasaki/jupyterlab-myst-revealjs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_myst_revealjs-1.4.0-py3-none-any.whl -
Subject digest:
7dd4d2f661cd0422148f2e92b1cbbfe8c93ae8ac9123d47bbc1e5187a769aa6d - Sigstore transparency entry: 1385499941
- Sigstore integration time:
-
Permalink:
CojiroSasaki/jupyterlab-myst-revealjs@79c1fdd179383745480d1fc2feca6413907665b0 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/CojiroSasaki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@79c1fdd179383745480d1fc2feca6413907665b0 -
Trigger Event:
release
-
Statement type: