Package release

mandel-plugin-template-engine

mandel/testing ยท Version 0.1.0.dev0

Mandel vNext composable block engine for Wagtail and Django Oscar.

Metadata

author Mandel
description_content_type text/markdown
license_expression LicenseRef-Proprietary
project_urls
  • Repository, https://git.mandelblog.com/mandel-plugins/mandel.plugin.template_engine
requires_dist
  • Django<5.3,>=5.2
  • Wagtail<7.5,>=7.4.3
  • django-oscar<4.2,>=4.1; extra == "commerce"
  • pytest<9,>=8; extra == "test"
  • ruff<0.13,>=0.12; extra == "test"
  • build<2,>=1.2; extra == "test"
requires_python <3.13,>=3.12

Release files

FileTest resultsHistory
mandel_plugin_template_engine-0.1.0.dev0-py3-none-any.whl
Size
62 KB
Type
Python Wheel
Python
3
mandel_plugin_template_engine-0.1.0.dev0.tar.gz
Size
32 KB
Type
Source

Mandel Template Engine

Mandel Template Engine is the vNext reusable block capability layer for Mandel websites and webshops. It is deliberately separate from visual providers.

Responsibilities

Host modes

Renderer resolution

For every block the engine resolves rendering explicitly:

  1. provider-native renderer registered for the active provider;
  2. neutral renderer owned by this plugin;
  3. fail closed if a block requires provider-native rendering and no renderer is registered.

There is no provider capability discovery by accidental Django template-loader precedence.

Kroon clean-room redesign

The Kroon showcase slider idea is represented by showcase_carousel, a universal content block. The Kroon product slider idea is represented separately by product_carousel, a commerce-only block. No Kroon, Coyote, Cabasa, Oxyan, or Ocyan runtime dependency is imported by this package.

Install

uv add mandel-plugin-template-engine

Add the app:

INSTALLED_APPS += ["mandel.plugin.template_engine"]

Run migrations after installing the package into a Django/Wagtail host.

For an existing page model, define its StreamField with streamfield_definitions() and use MandelBlockPageForm as the page form. A complete integration example is in docs/INTEGRATION.md.

Provider integration

Provider packages register explicit renderer maps through the mandel.template_engine.renderers entry-point group or by calling register_provider_bundle(). See docs/PROVIDER_INTEGRATION.md.

Compatibility target

Build status

See docs/IMPLEMENTATION_STATUS.md for implemented scope and the remaining runtime-certification gate.