# `CommBus.Template.RenderContext`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

Encapsulates the rendering context passed to template engines, including
variable bindings, partial templates, and strict-mode configuration.

# `t`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@type t() :: %CommBus.Template.RenderContext{
  partials: map(),
  strict_mode: boolean(),
  variables: map()
}
```

# `new`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@spec new(map() | keyword()) :: t()
```

Creates a new render context from a variable map or a keyword list of options.

When given a map, it is used as the variable bindings. When given a keyword
list, recognised keys are `:variables`, `:partials`, and `:strict_mode`.

## Parameters

  - `vars_or_opts` — A map of template variables **or** a keyword list with
    `:variables`, `:partials`, and `:strict_mode` keys.

## Returns

A `%CommBus.Template.RenderContext{}` struct.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
