# keats/tera

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/keats-tera).**

4,235 stars · 324 forks · Rust · MIT

## Links

- GitHub: https://github.com/Keats/tera
- Homepage: http://keats.github.io/tera/
- awesome-repositories: https://awesome-repositories.com/repository/keats-tera.md

## Topics

`django` `jinja2` `rust-library` `template-engine`

## Description

Tera is a server-side rendering engine and template engine for Rust. It is designed to generate dynamic text by injecting data into predefined template files, utilizing a syntax compatible with Jinja2 and Django.

The engine supports a variety of text generation tasks, including the creation of web pages via HTML rendering, the automation of email templates, and the production of environment-specific configuration files.

## Tags

### Programming Languages & Runtimes

- [Rust Templating Engines](https://awesome-repositories.com/f/programming-languages-runtimes/rust-templating-engines.md) — A high-performance text generation engine for Rust that implements Jinja2 and Django syntax.
- [Jinja2 Template Renderers](https://awesome-repositories.com/f/programming-languages-runtimes/jinja2-template-renderers.md) — Provides a template rendering system that is compatible with Jinja2 and Django syntax.
- [Text Templating Engines](https://awesome-repositories.com/f/programming-languages-runtimes/text-templating-engines.md) — Implements a general-purpose text templating engine to create custom files and documents.
- [Lazy Evaluation](https://awesome-repositories.com/f/programming-languages-runtimes/deferred-execution/lazy-evaluation.md) — Defers the evaluation of complex template logic until the final value is required for output.

### Content Management & Publishing

- [Dynamic Text Generation](https://awesome-repositories.com/f/content-management-publishing/dynamic-text-generation.md) — Produces final text output by processing template files with placeholders and logic using provided data. ([source](https://cdn.jsdelivr.net/gh/keats/tera@master/README.md))
- [System Configuration Templates](https://awesome-repositories.com/f/content-management-publishing/text-template-processing/system-configuration-templates.md) — Generates environment-specific configuration files by merging templates with system variables.

### Development Tools & Productivity

- [Server-Side Dynamic Page Generation](https://awesome-repositories.com/f/development-tools-productivity/page-skeleton-generators/dynamic-page-generators/server-side-dynamic-page-generation.md) — Generates HTML content for websites by merging server-side data records with layout templates.
- [Hierarchical Variable Resolvers](https://awesome-repositories.com/f/development-tools-productivity/dynamic-variable-evaluators/path-variable-resolvers/hierarchical-variable-resolvers.md) — Resolves data placeholders by traversing a hierarchical context structure.

### Web Development

- [Server-Side Rendering Engines](https://awesome-repositories.com/f/web-development/template-engines/server-side-rendering-engines.md) — Generates dynamic HTML or plain text responses on the server by mapping data onto file-based templates.
- [Email Template Automation](https://awesome-repositories.com/f/web-development/email-templates/email-template-automation.md) — Automates the generation of personalized email messages by injecting user data into HTML or text layouts.

### Data & Databases

- [Recursive Descent Parsers](https://awesome-repositories.com/f/data-databases/data-transformation-functions/recursive-processors/recursive-logic-implementations/recursive-descent-parsers.md) — Uses a recursive descent parsing engine to translate template syntax into executable operations.
- [Template Compilation Caches](https://awesome-repositories.com/f/data-databases/in-memory-caches/template-compilation-caches.md) — Provides an in-memory cache for precompiled template functions to avoid repeated parsing of source files.

### Software Engineering & Architecture

- [Abstract Syntax Tree Parsing](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsing.md) — Implements the conversion of template strings into a structured tree representation for efficient rendering.
- [Context Resolution Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/trait-based-service-abstractions/trait-based-serialization/context-resolution-interfaces.md) — Employs a common interface to fetch values from various data sources like maps or custom Rust objects.

### Part of an Awesome List

- [Templating Engines](https://awesome-repositories.com/f/awesome-lists/devtools/templating-engines.md) — Template engine inspired by Jinja2 and Django templates.
