Server-side rendering of Volto/Seven blocks in Plone Classic UI ("Badis UI") with
Chameleon page templates — no frontend build step. Block-enabled content is rendered
through BrowserViews that dispatch by block @type to per-type @@block-<type> views.
See docs/blocks-renderer-spec.md for the architecture.
- Compatible with Plone 6.2+
- Renders block content (
volto.blocksbehavior) without a REST round-trip - Block renderers: title, description, slate (rich text), image, gridBlock (nested), teaser, listing, introduction, html, slateTable, toc, video, maps, plus a default fallback
- Slate rich-text serializer with tag whitelisting (no unsanitized editor HTML reaches the page)
Add plone.badisblocks to your project's dependencies:
# In your pyproject.toml
dependencies = [
"plone.badisblocks",
# ...
]Then activate the addon in your Plone site's control panel or via GenericSetup.
# Clone the repository
git clone https://github.com/collective/plone.badisblocks.git
cd plone.badisblocks
# Install in development mode (creates .venv, resolves the test extra)
uv sync --extra testuv run --extra test pytestuv run --extra test pytest --cov=plone.badisblocks --cov-report=htmlGPL-2.0-or-later
Maik Derstappen md@derico.de