# hive-template The one template language the hyperhive workspace renders with: Jinja, through [`minijinja`](https://crates.io/crates/minijinja). A value is `{{ name }}`, a block is `{% if cond %}...{% endif %}`, and a lone `{` or `}` stays plain text. - **`render(template, &context)`**: the text, or a message when the template does not parse or names a variable the context lacks. An unknown variable is an error, never an empty string. - A block tag alone on its line leaves no line behind (`trim_blocks` and `lstrip_blocks` are on), so a template ending in a block tag and a newline loses that newline. - **`variables(template)`**: the variables the template reads, so a caller can refuse an unknown field when the template is saved instead of when it renders. Used by the notification router's flow templates (`swarm-notify-router`, `swarm-wire`).