Crate suika_templates

Crate suika_templates 

Source
Expand description

§Template Engine

A simple template engine library for Rust that can parse and render templates with various directives.

§Example

use suika_templates::{TemplateEngine, TemplateValue};
use std::collections::HashMap;

let mut engine = TemplateEngine::new();
engine.add_template("hello", "Hello, {{ name }}!");

let mut context = HashMap::new();
context.insert("name".to_string(), TemplateValue::String("World".to_string()));

let result = engine.render("hello", &context).expect("Failed to render template");
assert_eq!(result, "Hello, World!");

§Loading Templates from Directory

use suika_templates::TemplateEngine;
use std::collections::HashMap;

// Assuming the templates directory contains template1.html and template2.html
let mut engine = TemplateEngine::new();
engine.load_templates_from_directory("templates").expect("Failed to load templates");

let result = engine.render("template1.html", &HashMap::new()).expect("Failed to render template");
println!("Rendered Template 1:\n{}", result);

let result = engine.render("template2.html", &HashMap::new()).expect("Failed to render template");
println!("Rendered Template 2:\n{}", result);

Re-exports§

pub use filters::FilterRegistry;
pub use filters::FromJsonValue;
pub use filters::IntoJsonValue;
pub use parser::TemplateParser;
pub use template_engine::TemplateEngine;
pub use template_token::TemplateToken;

Modules§

context
filters
parser
template_engine
template_token