abdulniyaspm / minijinja

MiniJinja is a powerful but minimal dependency template engine for Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MiniJinja

Build Status License Documentation

MiniJinja is a powerful but minimal dependency template engine for Rust which is based on the syntax and behavior of the Jinja2 template engine for Python.

It's implemented on top of serde and only has a single dependency. It supports a range of features from Jinja2 including inheritance, filters and more.

use minijinja::Environment;
use serde::Serialize;

#[derive(Serialize)]
pub struct Context {
    name: String,
}

fn main() {
    let mut env = Environment::new();
    env.add_template("hello.txt", "Hello {{ name }}!").unwrap();
    let template = env.get_template("hello.txt").unwrap();
    println!("{}", template.render(&Context {
        name: "World".into()
    }).unwrap());
}

About

MiniJinja is a powerful but minimal dependency template engine for Rust

License:Apache License 2.0


Languages

Language:Rust 99.6%Language:Makefile 0.2%Language:HTML 0.2%Language:JavaScript 0.0%