Plugin System¶
Plugins extend SmallBlock without modifying core code.
Extension Points¶
Template tags for rendering dynamic regions.
Toolbar actions for editor UX.
Signals/hooks for lifecycle events (save, publish, delete).
Webhooks for outbound integrations.
Minimal Plugin Example¶
from smallblock.plugins import register_plugin
@register_plugin("hello_toolbar")
def hello_toolbar():
return {"label": "Hello", "action": "/admin/hello"}
Packaging¶
Use semantic versioning and a clear changelog.
Keep plugin dependencies minimal and pinned.