Excalidraw drawings in mkdocs
Project description
Mkdocs Excalidraw
✨ A simple mkdocs plugin to easily embed your excalidraw drawings into your docs
See it in action here
🎯 Features
- Embed your drawings as you would an image by converting your excalidraw drawings to svg on the fly
- Dark mode compatibility for mkdocs and mkdocs-material themes
- Lightbox support when used with mkdocs-glightbox (fullscreen on click)
- Select which frame of the drawing to display
📦 Installation
Install the package
pip install mkdocs-excalidraw
Add it to your mkdocs.yaml
site_name: MkDocs Excalidraw
plugins:
- excalidraw
- glightbox # if you want lightbox (see below)
🚀 Usage
You can use this project's docs as an example , lets break down how we do it.
- Create an excalidraw drawing and save the file (I recommend using the vscode extension)
- Add a reference to it in your markdown file as you would for an image

- Thats it , the extension renders it as an svg in your browser
🧩 Integrations
🌓 Dynamic Theme
This extensions supports dynamic light/dark theme with the following mkdocs themes:
- material-mkdocs
- mkdocs (base)
This means that , when you switch the the between light and dark , the excalidraw drawings will change their theme accordingly
🖥 GLightbox - fullscreen and slideshow
Simply install and setup mkdocs-glightbox as descibed here. once done your mkdocs drawing will be clickable , and available in the slideshow of the page.
🪟 Frame based rendering
Excalidraw introduced the notion of frame. You can select a part of your drawing to be part of a frame ,a drawing can hold several frames. But an object can only belong to one frame.
to render not the whole drawing but a specific frame , you can do the following :

This feature pairs nicely with glightbox (just above) and enables you to turn an mkdocs page into a slideshow !
🫶 Contributing
This projects welcomes contribution ! But contribution does not have to be code. Here are great ways to help this project :
- Fill in a detailed bug report (with console logs , screenshots and execution context)
- Make a feature requests
- Make a PR for the documentaion to impprove it or translating it
- Make a code PR but please link it to an issue
And if you have a few seconds to star this repo it would really help us reach more people ! We hope you like this plugin at least as much as we loved making it
Project details
Release history Release notifications | RSS feed
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_excalidraw-0.6.0.tar.gz.
File metadata
- Download URL: mkdocs_excalidraw-0.6.0.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71c148479cbdf213c04bf799e7d74b367475fb01d8eed60c4475386ee96105b4
|
|
| MD5 |
a6003bfcaa7447cd16fbc2835d1870a4
|
|
| BLAKE2b-256 |
f0f1f6c67be1de5a5946c3d712edc7dfa5871dca70455859f0e022b029fda5aa
|
File details
Details for the file mkdocs_excalidraw-0.6.0-py3-none-any.whl.
File metadata
- Download URL: mkdocs_excalidraw-0.6.0-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21521ee89b2db1f48afb93029440957b33b31776a797605fcbe888e8c1f0003d
|
|
| MD5 |
fbb9c1e0cff168a0b8931721fd0dd76d
|
|
| BLAKE2b-256 |
1a2566c7a97eeb258d9cddd9f32dc41f991b968021c1750f47eab16a02133211
|