I created a JupyterLab extension called
marpyter . Similar to the Marp VS Code extension,
marpyter allows users to preview the Marp slides directly from JupyterLab.
You can try it out at GitHub - trungleduc/marpyter: marpyter - Marp for JupyterLab
Cool, more slides more fun! Seems like an nbconvert template/postprocessor on top of the
--to markdown would be reasonable to extrapolate from this as well.
For reference, marp describes itself as a tool to:
Create beautiful slide decks using an intuitive Markdown experience.
This continues the long-standing tradition, initiated by perhaps the original translation of the
beamer+/-server concept started by showoff, which, a decade later, is still really cool for code-heavy presentations.
Indeed, once the JupyterLab collaboration stuff settles down, and has a trivially-scalable server backend (e.g. public WebRTC signaling server, IPFS, dat) and role-based system (e.g. presenter, co-presenter, audience, commenter, grader, etc) I’d love to bring more of these features (live terminal, comments, polls, text/voice questions, etc) to JupyterLab/JupyterLite… without requiring k8s/docker to be remotely (ha!) safe for an “important” presentation with hundreds of remote/distributed viewers.
More broadly, and not meant as criticism of the extension, or
marp itself: I like some of its decisions, and considered some of them on
jupyterlab-deck’s markdown presenter. However, I find it falls into the same trap as a lot of other extensible/enhanced markdown “ecosystems,” of which which Jupyter itself is not the least offender: things written in two
marp installs won’t necessarily render the same way, much less other renderers, and there’s no particular metadata stored along with the document as to which plugins it requires to not look “broken”… markdown can’t really fail of course… but still.