Zensical WaveDrom Plugin
A Zensical extension for rendering WaveDrom diagrams in Markdown. Visit the demo site.
This is a port of the mkdocs-wavedrom-plugin (or, my maintained fork) for the Zensical static site generator.
Features
- Transform fenced code blocks with language
wavedrominto WaveDrom script tags or embedded SVG - Support for
pymdownx.superfencescustom fences - Optional SVG embedding at build time (no JavaScript required)
Installation
pip install zensical-wavedrom-plugin
Configuration
Add to your zensical.toml:
Default mode (JavaScript rendering)
In default mode, WaveDrom code blocks are transformed into <script type="WaveDrom"> tags and the WaveDrom JavaScript library processes them on page load.
[project]
extra_javascript = [
"https://cdnjs.cloudflare.com/ajax/libs/wavedrom/3.5.0/skins/default.js",
"https://cdnjs.cloudflare.com/ajax/libs/wavedrom/3.5.0/wavedrom.min.js"
]
[project.markdown_extensions.fenced_code]
[project.markdown_extensions.wavedrom]
Embed SVG mode
When embed_svg = true is set, WaveDrom diagrams are rendered to SVG at build time. This means no JavaScript is required on the client side.
[project.markdown_extensions.fenced_code]
[project.markdown_extensions.wavedrom]
embed_svg = true
Pymdownx Integration
This plugin integrates with pymdownx.superfences to provide custom fence support when pymdownx is used instead of fenced_code.
[project.markdown_extensions.pymdownx.superfences]
custom_fences = [
{ name = "wavedrom", class = "wavedrom", format = "zensical_wavedrom_plugin.extension.fence_wavedrom_format" }
]
[project.markdown_extensions.wavedrom]
Usage
In your Markdown files:
```wavedrom
{ signal: [
{ name: "clk", wave: "p....." },
{ name: "data", wave: "x.345x" }
] }
```
License
This project is licensed under the MIT License.
Metadata
Release files for zensical-wavedrom-plugin 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zensical_wavedrom_plugin-0.1.1.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zensical_wavedrom_plugin-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / zensical_wavedrom_plugin-0.1.1.tar.gz
| Download URL | zensical_wavedrom_plugin-0.1.1.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31b6d468e1420dc721212112f13346202c0f7b7d7196d81b9231b98003bb41ee
|
|
BLAKE2b-256 checksum How to use checksums |
babbe34138ce8dc1d2b044d25a029bc40dcca05c93d06976e59fdba412cd5bb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.4 CPython/3.13.12 Linux/6.14.11-x64v3-xanmod1
|
Release files / zensical_wavedrom_plugin-0.1.1-py3-none-any.whl
| Download URL | zensical_wavedrom_plugin-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
37cfe42595260a29fc6f6603aee2ec2d2524491a708a441d953aa6d5a7fb31d6
|
|
BLAKE2b-256 checksum How to use checksums |
b28bb8c5ea53240c2db4bd82376264337ca9153aa8a8d6e66b2f6e4910475b02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.4 CPython/3.13.12 Linux/6.14.11-x64v3-xanmod1
|