betty.render module

Provide the Render API.

final class betty.render.RenderDispatcher

Bases: object

Dispatch content to a renderer that supports it.

Unsupported content is rendered as plain text to make it safe for inclusion in HTML.

__init__(*renderers: Renderer)
async render(content: str, media_type: ResolvableMediaType | None, /) str

Render the content.

class betty.render.Renderer

Bases: ABC, Plugin[RendererDefinition]

Render content in a different media type to HTML.

abstract property media_type: MediaType

The media type this renderer can render from.

abstractmethod async render(content: str, /) str

Render content.

final class betty.render.RendererDefinition

Bases: HumanFacingDefinition, PluginClsDefinition[Renderer]

The renderer plugin type.

Plugin type ID

renderer

Definition

@RendererDefinition(...)

Built-in renderers:

html (Html)
HTML: The values of the following HTML attributes will automatically be replaced with the URLs generated from them where possible: href, and src
plain-text (PlainText)
Plain text
__init__(plugin_id: ResolvableMachineName, *, label: ResolvableLocalizable, auto: bool = True, description: ResolvableLocalizable | None = None, requires: Requires = ())
static type() PluginTypeDefinition[Self]

The plugin type definition.