MkDocs plugin for embedding H5P files in Markdown using h5p-standalone.
Project description
mkdocs-h5p
Embed H5P packages in MkDocs Markdown using tunapanda/h5p-standalone.
The plugin extracts each referenced .h5p file during mkdocs build and
injects the standalone H5P player into the generated page by default. It can
also render each H5P package through a generated standalone HTML file embedded
with an iframe.
Installation
pip install -e .
Enable the plugin in mkdocs.yml:
plugins:
- search
- h5p
Markdown Usage
Use the image-like syntax with h5p as the alt text:

You can also use the explicit shortcode form:
{{ h5p("activities/example.h5p") }}
Paths are resolved relative to the Markdown file first, then relative to
docs_dir.
Configuration
plugins:
- h5p:
h5p_dir: assets/h5p
player_url: https://cdn.jsdelivr.net/npm/h5p-standalone@3.8.0/dist
render_mode: inline
frame: true
full_screen: true
export: false
embed: false
copyright: false
player_options:
icon: true
player_url points to the dist directory for h5p-standalone. By default it
uses jsDelivr with version 3.8.0 pinned. For offline sites, download the
h5p-standalone dist files into your MkDocs docs folder and set player_url
to that local URL.
render_mode can be inline or iframe. The default, inline, adds the H5P
div and h5p-standalone scripts to the generated MkDocs page. iframe creates
mkdocs-h5p.html inside the extracted package directory under h5p_dir and
embeds that file in the generated page.
The original .h5p package is also copied into the generated site and exposed
to h5p-standalone through downloadUrl, so enabling export: true can provide
a working download button.
When embed: true is enabled, the plugin also provides embedCode to
h5p-standalone. The generated embed code is an iframe that points to the
standalone mkdocs-h5p.html file for that activity. Set MkDocs site_url to
make the embed iframe use a full absolute URL.
Notes
Some H5P exports do not include every required library. The standalone player
can only run content when the .h5p package includes the libraries it needs.
Publishing to PyPI
Install the packaging tools:
python -m pip install --upgrade build twine
Update pyproject.toml version before publishing:
Build the source distribution and wheel:
python -m build
Test the package on TestPyPI first:
python -m twine upload --repository testpypi dist/*
Then install it from TestPyPI to verify the published artifact:
python -m pip install --index-url https://test.pypi.org/simple/ mkdocs-h5p
Publish to PyPI:
python -m twine upload dist/*
When prompted by twine, use __token__ as the username and a PyPI API token
as the password.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mkdocs_h5p-0.3.0.tar.gz.
File metadata
- Download URL: mkdocs_h5p-0.3.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3a6899c549c9a18afe9eaef4998b63da6acb5cbef72af542e1d235541b90c4c
|
|
| MD5 |
21bc9b16954d576b2990d301c1919123
|
|
| BLAKE2b-256 |
5a51150b72484644fc7c36d907f952dcaae3ec2e13411f84a13b0e9e58d2156e
|
File details
Details for the file mkdocs_h5p-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mkdocs_h5p-0.3.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebd0f4c44b56616e76675c5a8ba0cfcc5eeb74a0a3a5a3920faf1cebb92e12dd
|
|
| MD5 |
d470fddab196078743ad400bfc09c344
|
|
| BLAKE2b-256 |
64b3ee39f2beaecbd933264d6334cb7ae820beedcc822c0970a2da0e47394963
|