Skip to main content

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.

PyPI License: GPLv3+

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-superquiz evaluation decks;
  • mkdocs-maths-admonitions full-deck numbering;
  • mkdocs-xtables asynchronous table refresh;
  • TikZJax dynamic rendering and post-render layout;
  • mkdocs-graphviz server-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)

Source distribution for mkdocs-revealjs 0.12.0
File Size Uploaded
mkdocs_revealjs-0.12.0.tar.gz 65.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mkdocs-revealjs 0.12.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.12.0 This release

2 release files

0.11.4

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page