jupyter-mkslides
An nbconvert custom exporter that converts Jupyter Notebooks (.ipynb) into
Markdown for mkslides.
Installation
pip install jupyter-mkslides
Usage
jupyter nbconvert --to mkslides presentation.ipynb
This generates presentation.md along with presentation_files/, which
contains the extracted image outputs. The generated Markdown can be fed
directly to mkslides. Pass the directory containing the Markdown, not
the .md file itself:
mkslides serve .
# or
mkslides build .
When mkslides is given a single .md file, it copies only its own default
assets into the output site, so presentation_files/ and any other images
referenced from the Markdown (e.g. <img src="photo.jpg"> in a Markdown cell)
will not be found. Passing the directory copies everything in it, so keep the
Markdown and its images in a dedicated slides folder rather than running
mkslides from a project root (which would copy .venv and the like too).
Cell metadata handling
Each cell is converted according to its metadata.slideshow.slide_type
(set via the Slideshow toolbar in Jupyter):
| slide_type | Result |
|---|---|
slide |
--- inserted before the cell (new slide) |
subslide |
Same as slide (---) by default; optionally -v- (see below) |
fragment |
Appended to the previous slide |
notes |
Prefixed with Note: and turned into speaker notes of the previous slide |
skip |
Omitted from the output |
unset / - |
--- inserted so that each cell becomes its own slide |
Turning subslides into vertical slides
The default mkslides (reveal.js) configuration has no vertical slide
separator, so subslide cells are output as regular slide breaks (---)
by default. To use vertical slides, pass the option at conversion time:
jupyter nbconvert --to mkslides --MkSlidesExporter.subslide_as_vertical=True presentation.ipynb
and enable the vertical separator in your mkslides.yml:
slides:
separator_vertical: '^\s*-v-\s*$'
Image outputs of code cells (image/png, etc.) are saved to
{notebook name}_files/ by nbconvert's standard ExtractOutputPreprocessor
and linked as .
HTML outputs (DataFrame tables, etc.)
text/html outputs such as pandas/polars DataFrame tables are wrapped in a
single <small> element so they fit on a slide. Any <small> tags already
present in the output (polars emits one around its shape: line) are removed
so the content is not shrunk twice. To keep the HTML untouched:
jupyter nbconvert --to mkslides --MkSlidesExporter.html_output_small=False presentation.ipynb
日本語版は README_ja.md を参照してください。
Release files for jupyter-mkslides 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_mkslides-0.1.2.tar.gz | 130.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_mkslides-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.1 kB
Release files / jupyter_mkslides-0.1.2.tar.gz
| Download URL | jupyter_mkslides-0.1.2.tar.gz |
|---|---|
| Size | 130.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad3f2a2ba0d49c913f22859bdc1cc41d4d59baf7fce7202919dc6788238ae6dc
|
|
BLAKE2b-256 checksum How to use checksums |
42c1b4d033d78ff4d889efa3cbb4d10bdd8404b4d7bda557ffc5c8d5fac4620d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency logRelease files / jupyter_mkslides-0.1.2-py3-none-any.whl
| Download URL | jupyter_mkslides-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5e7054c499bbe740d2d0d58c15208377615cbc4299ed8faa23194cc8f3ea9c2
|
|
BLAKE2b-256 checksum How to use checksums |
13110c1a2a65b8e24f6880d8de1ef1d3b5e0806884d91b9cd9fc08453bc8c995
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log