mkdocs-revealjs
Embed one or more Reveal.js decks directly inside MkDocs Markdown pages, with light/dark synchronization and integration hooks for dynamic MkDocs content.
Documentation & live demos: https://rod2ik.gitlab.io/mkdocs-revealjs/
Installation
Python 3.10 or newer is required.
pip install mkdocs-revealjs
plugins:
- search
- revealjs
Modes
The current API has exactly two modes:
revealjs:
mode: diapo
for an ordinary Reveal.js deck, and:
revealjs:
mode: diapo.eval
for a Reveal.js evaluation owned by mkdocs-superquiz.
Historical mode aliases are not accepted.
Multiple decks in one Markdown page
Use explicit deck blocks:
Ordinary MkDocs content.
=====
# Slide 1
---
# Slide 2
=====/
Ordinary MkDocs content again.
Each block may start with local front matter:
=====
---
mode: diapo.eval
id: algebra-test
revealjs:
transition: fade
superquiz:
randomize: all
---
...slides...
=====/
id is optional. Missing identifiers are generated as diapo1, diapo2, eval1, eval2, ...
Optional Markdown imports
Install the optional macros integration and enable macros before revealjs:
pip install "mkdocs-revealjs[macros]"
plugins:
- macros
- revealjs
Then insert explicit decks from another Markdown file at the exact macro location:
{{ diapo("slides/demo.md") }}
Select one named deck with a fragment:
{{ diapo("slides/demo.md#algebra-test") }}
Relative paths resolve from the current Markdown source. A leading / resolves from docs_dir; imports cannot escape docs_dir.
Configuration scopes
Reveal.js values resolve from least to most local:
built-in defaults < mkdocs.yml < page front matter < deck-local front matter
An explicit deck is an independent scope. A diapo.eval deck owns its own evaluation session.
Integrations
The runtime provides a generic dynamic-content lifecycle and current integrations for:
mkdocs-superquizevaluation decks;mkdocs-maths-admonitionsfull-deck numbering;mkdocs-xtablesasynchronous table refresh;- TikZJax dynamic rendering and post-render layout;
mkdocs-graphvizserver-rendered graphs;- Material content tabs/details and Mermaid.
The documentation project uses explicit sibling/published dependency rules. Browser assets are generated under site/overrides/vendor/; Python documentation plugins are installed editable from declared siblings locally and from exact PyPI versions in CI. See the documentation page Vendors & project dependencies for the complete contract.
Development
corepack enable
yarn install --immutable
yarn dev
yarn dev:lan
yarn build
yarn build:full
yarn bfc
yarn zip
package.json is the single source of truth for the project version.
License
GNU GPL-3.0-or-later.
Metadata
Release files for mkdocs-revealjs 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mkdocs_revealjs-0.12.0.tar.gz | 65.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocs_revealjs-0.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 118.7 kB
Release files / mkdocs_revealjs-0.12.0.tar.gz
| Download URL | mkdocs_revealjs-0.12.0.tar.gz |
|---|---|
| Size | 65.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2a20bcead35ebebd27835bc0163ab702d90bf3359a803a4a58401bda3880173
|
|
BLAKE2b-256 checksum How to use checksums |
945edd15cea058fb02c9172bc68762ca264db202ea776109a39cb165f9a3ccb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mkdocs_revealjs-0.12.0-py3-none-any.whl
| Download URL | mkdocs_revealjs-0.12.0-py3-none-any.whl |
|---|---|
| Size | 53.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8eaf32f204679c8ae6f482f95e83ba5e3ca3a9b67ec52c20fa5eb40e00acaf24
|
|
BLAKE2b-256 checksum How to use checksums |
260eea4260d5c839336cddef7b0e111d12151475f7a813bc8cdbede218179690
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|