Skip to main content

mkdocs-revealjs

Embed one or more Reveal.js presentations directly inside MkDocs Markdown pages, with light/dark theme synchronization and native integration with other MkDocs plugins.

PyPI License: GPLv3+

Documentation & live demos: https://rod2ik.gitlab.io/mkdocs-revealjs/

Modes

A page-wide presentation uses the canonical mode:

---
revealjs:
  mode: diapo
---

A Reveal.js evaluation powered by mkdocs-superquiz uses:

---
revealjs:
  mode: diapo.eval
---

There is intentionally no legacy presentation: syntax in 0.10.0.

Accepted mode aliases

Canonical Accepted aliases
diapo diaporama, presentation, diapo.presentation, diapo.normal
diapo.eval eval, evaluation, exam, examen, assessment, diapo.evaluation, diapo.exam, diapo.examen, diapo.assessment

Documentation uses only the canonical forms after this table.

Multiple decks in one Markdown page

Use explicit deck blocks. Five or more = are accepted; the canonical form is:

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 with mkdocs-macros-plugin

Install the optional extra and enable macros before superquiz/revealjs:

pip install "mkdocs-revealjs[macros]"
plugins:
  - macros
  - superquiz
  - revealjs

Then import all explicit decks from another Markdown file at the exact insertion point:

{{ diapo("slides/demo.md") }}

Alias:

{{ include_diapo("slides/demo.md") }}

Select one explicitly named deck with a fragment:

{{ diapo("slides/demo.md#algebra-test") }}

Relative paths are resolved from the current Markdown source file. A leading / means the MkDocs docs_dir root, never the operating-system root. Imports may not 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

SuperQuiz adds its own per-type and per-question layers. An explicit deck is a scope: a diapo.eval deck owns its own evaluation session; an explicit normal diapo deck keeps its questions embedded even inside a page-level SuperQuiz evaluation.

Highlights

  • multiple independent Reveal.js decks per page;
  • horizontal and vertical slides;
  • Material light/dark synchronization, including Android Reveal Scroll View backgrounds;
  • Reveal.js, Highlight.js and Mermaid light/dark theming;
  • server-side compatibility islands for MkDocs extensions;
  • native mkdocs-superquiz, mkdocs-maths-admonitions, XTables and TikZJax integration;
  • fragments, notes, auto-animate and Reveal.js options;
  • optional diapo() / include_diapo() macros;
  • diapo.eval sessions with global SuperQuiz validation, scoring, timer, question navigation, and a dedicated post-validation result/violation-summary slide.
  • mkdocs-superquiz >= 0.5.8 evaluation integration: the first click anywhere inside the visible diapo.eval wrapper enters deck-scoped fullscreen before password entry for both standard and strict evaluations. QR/timer/Reset/Unlock/live counts share one draggable deck toolbar, while numbered question navigation remains independently draggable. Strict defaults show QR + Reset and hide Unlock; the timer defaults to a 50-minute countdown; every recorded strict violation emits a stacked transient tooltip above the deck UI.

Development

yarn dev
yarn dev:lan
yarn build
yarn build:full
yarn bfc

yarn dev:lan binds MkDocs to 0.0.0.0:8000 for testing from a real phone on the same LAN.

License

GNU GPL-3.0-or-later.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_revealjs-0.10.10.tar.gz (65.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_revealjs-0.10.10-py3-none-any.whl (55.1 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_revealjs-0.10.10.tar.gz.

File metadata

  • Download URL: mkdocs_revealjs-0.10.10.tar.gz
  • Upload date:
  • Size: 65.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for mkdocs_revealjs-0.10.10.tar.gz
Algorithm Hash digest
SHA256 6e41e2bf1daae5c277a64da6606ee73643f2dd7e1a01bfe63dd489b86e1075d8
MD5 31b9996cd6654ce421f0d28eea6e36ab
BLAKE2b-256 f4d79087c45dfef5e544121a3b18a0f694fd86130760edc5f13c97f584271494

See more details on using hashes here.

File details

Details for the file mkdocs_revealjs-0.10.10-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_revealjs-0.10.10-py3-none-any.whl
Algorithm Hash digest
SHA256 295856fe03b2229e5b0159b1e3c99eaac398810df8f1d2a2f79993a5223bbb21
MD5 f0f559914d4b1fc82e3ce5f511d77151
BLAKE2b-256 f1c1b44fe7a71f8a7169966caa6fdf7ebcd5428a98fbfb53ac51c29bc679e42a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.11.4

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

This release

0.10.10 This release

2 files

0.10.8

2 files

0.10.7

2 files

0.10.6

2 files

0.10.5

2 files

0.10.1

2 files

0.10.0

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.1

2 files

0.9.0

2 files

0.8.9

2 files

0.8.8

2 files

0.8.7

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

1 file

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page