A lightweight presentation mode for JupyterLab.
Project description
jupyterlab-deck
docs | install | extend | demo | ci |
---|---|---|---|---|
Lightweight presentations for JupyterLab
Installing
pip install jupyterlab-deck
or
mamba install -c conda-forge jupyterlab-deck # or conda, if you must
See
CONTRIBUTING.md
for a development installation.
Uninstalling
pip uninstall jupyterlab-deck
or
mamba remove jupyterlab-deck # or conda if you must
Usage
Get started
After installing, open or create a Notebook.
Other documents work but are not as much fun.
Deck Mode
Start Deck Mode by
- in the Notebook Toolbar, click
- open the Command Palette and run Start Deck
In Deck Mode, until you configure any slide types, all of your content should appear in a vertically-scrollable stack.
Remote
In Deck Mode, navigate with:
- the onscreen remote
- if available, up, down, left, right will be available
- these correspond to the standard keyboard shortcuts,
- →, ↓, ←, ↑
- shift+enter executes and advances
- the spacebar tries two directions:
- space = ↓, or →
- shift+space = ↑, or ←
Revealing JupyterLab UX Features
Many of the core JupyterLab UI elements are still available, but hidden by default. Hover over their usual places to reveal them. These include:
- the right and left sidebar
- the Notebook Toolbar
Hidden JupyterLab UX Features
Some elements are not visible, and cannot be revealed:
- the Main Menu
- the Status Bar
- the Cell Toolbar
Next Steps:
- use slideshow types to customize how much of your content appears on-screen.
- use layer types to customize foreground/background behavior
- use the design tools to customize the appearance of cells
- use the slide layout tools to customize the position and size of cells
Exiting Deck Mode
To exit Deck Mode:
- from the remote, click the
- open the Command Palette and run Stop Deck
Slides
Build a slideshow by changing the slideshow type per cell using the Property Inspector sidebar or the design tools.
type | purpose |
---|---|
- |
(default) stack underneath the previous cell |
slide |
start a new stack |
fragment |
reveal when activated |
subslide |
start a new cell stack in the optional Y axis |
skip |
hide the cell entirely |
notes |
TBD: moves this cell to the off-screen note viewer |
Layers
Pick a layer type from:
- the property inspector
- or the [design tools].
Layers either temporarily or permanently show content, and won't be reached by. Specifying a layer scope will override the slideshow type. Layers have one of the following scopes:
scope | relationship to slides |
---|---|
deck |
show on all current and future slide or subslides |
stack |
show until the next slide |
slide |
show until the next slide or subslide |
fragment |
only show until the next fragment |
Design Tools
In Deck mode, click the ellipsis icon in the bottom left corner
The design tools offer lightweight buttons to:
- show/hide the slide layout overlay
- set the slideshow type
- set the layer type
- change a few key appearance properties:
- use the sliders to customize
z-index
controls the vertical stacking of elements:- higher is "closer" to the user
opacity
controls how vibrant the fonts and colors appear- higher is more full
zoom
controls how big the contents of the cell appear- higher is bigger
- un-check the checkbox to restore to the defaults
- use the sliders to customize
Slide Layout
After opening the design tools, click the Show Layout button
In slide layout mode, each part of the slide receives an overlay.
Moving a part manually will remove it from the default layout, and allow you to place it anywhere on the screen, but it will keep the same navigation index.
The keyboard shortcuts and remote should still function as normal.
Moving Parts
Click and drag a part overlay to move the part underneath.
Resizing Parts
Click one of the handles in the corners of the part overlay to resize a part.
Reverting Part Move/Resize
After moving a part to a fixed position, click the ↺ button on a part overlay to restore the part to the default layout.
Configuration
Enabling Deck Mode at startup
- see the JupyterLab docs about settings
overrides.json
.
{
"@deathbeds/jupyterlab-deck:plugin": {
"active": true
}
}
Frequently Asked Questions
Does it work with notebook 6
aka classic?
No. Use RISE.
Does it work with notebook 7
?
Mostly. Navigating multiple documents during the same presentation will probably never work, as this is incompatible with the one-document-at-a-time design constraint of the Notebook UX. Each skip to another document will open a new browser tab, though deck should be installed.
Will it generate PowerPoint?
No. This would be a fine third-party extension which could consume notebook metadata
created by this extension, jupyterlab-fonts, and nbconvert
-compatible
slides.
Will it generate single-document static HTML presentations?
No. Use nbconvert
, but no layers or style customization
will work.
For a full static viewing experience, try something like JupyterLite.
Will it generate PDF?
Not yet.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file jupyterlab_deck-0.2.0.tar.gz
.
File metadata
- Download URL: jupyterlab_deck-0.2.0.tar.gz
- Upload date:
- Size: 359.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f91eb4164538082718a3c7d4a605bf114eb7e034a199047a4098c18e0e8a25bc |
|
MD5 | 03ba87fc8c296cd39a49b2db8791f614 |
|
BLAKE2b-256 | 4f48fb70e40b6a01d10bafda93d5c847beec7cb0015e007dcb3453bc09dfb9a4 |
File details
Details for the file jupyterlab_deck-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: jupyterlab_deck-0.2.0-py3-none-any.whl
- Upload date:
- Size: 149.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee70e0d2ff199260b179a77533a3b9cd5fcd858782c07f50311fbba68d6f903b |
|
MD5 | 1d2aebfa2b9d4a52902e1104420239f1 |
|
BLAKE2b-256 | 0cfd0ace1431ea55aa11cdb69627cc7b6ba2b44506ceb60465b0b9df3859b9ff |