Skip to main content

Excalidraw drawings in mkdocs

Reason this release was yanked:

broken because of CICD issue

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.

  1. Create an excalidraw drawing and save the file (I recommend using the vscode extension)
  2. Add a reference to it in your markdown file as you would for an image
![fig_name](drawings/test.excalidraw)
  1. 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 :

![alt](drawings/test.excalidraw#frame-name)

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


Download files

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

Source Distribution

mkdocs_excalidraw-0.5.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

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

mkdocs_excalidraw-0.5.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_excalidraw-0.5.0.tar.gz.

File metadata

  • Download URL: mkdocs_excalidraw-0.5.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • 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

Hashes for mkdocs_excalidraw-0.5.0.tar.gz
Algorithm Hash digest
SHA256 aac15607a70496580d05ed480f7b62951d34543e6b5e45dd4e46df4c3fd993f4
MD5 0565e16bed20eab4c78554bbc065bada
BLAKE2b-256 b102a5cedf4ab223c3676de228f924338c448986971a35c59a57cff0dc21ddd1

See more details on using hashes here.

File details

Details for the file mkdocs_excalidraw-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: mkdocs_excalidraw-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • 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

Hashes for mkdocs_excalidraw-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34910cdddd28ccd3ded4138b1b5cac1cb9a62d887919919dc56abbd3049bf485
MD5 ee7bb2a6aba8e36e98931096c4dc5d38
BLAKE2b-256 f5da3ac87894a91a1f4d8ccb17ec778217ae8c5c52821ea09843b7ce13f460ab

See more details on using hashes here.

Supported by

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