Plugins: intro
Blurry ships with a simple plugin infrastructure that makes it easy to write and register plugins that change how Blurry processes Markdown and HTML.
How to write a plugin
See the docs for the type of plugin you'd like to write:
How to register a plugin
Plugins are registered using Python entry points.
To register your plugin, add it as an entry point in one of the following entry point groups in your package's configuration file (e.g., pyproject.toml
or setup.py
):
blurry.html_plugins
for plugins that modify the HTML Blurry generates from Markdown filesblurry.markdown_plugins
for plugins that add Markdown functionality via Mistune plugins
Examples
For a simple example of a Markdown plugin, see https://github.com/blurry-dev/blurry-plugin-blur-blurry-name. It registers a Blurry Markdown plugin in its pyproject.toml
file using Poetry's plugin entry point syntax:
[tool.poetry.plugins."blurry.markdown_plugins"]
blur_blurry_name = "blurry_plugin_blur_blurry_name:blur_blurry_name"
Blurry dogfoods its own plugin architecture, too. See which plugins are registered in Blurry's pyproject.toml
file.