rocket_base_app/src/templates.rs
use minijinja::{Environment, Value};
use std::error::Error;
use std::fs;
#[macro_export]
macro_rules! template_embed {
($file_name:expr, $ctx:expr) => {{
let text = include_str!($file_name);
let mut env = Environment::new();
env.add_template($file_name, text).unwrap();
let tmpl = env.get_template($file_name).unwrap();
let res = tmpl.render($ctx).unwrap();
Ok(res)
}};
}
pub fn template_load(file_name: &str, ctx: Value) -> Result<String, Box<dyn Error>> {
let text: String;
text = fs::read_to_string(file_name)?;
let text_clone = text.clone();
let mut env = Environment::new();
env.add_template(file_name, text_clone.as_str())?;
let tmpl = env.get_template(file_name)?;
let res = tmpl.render(ctx)?;
Ok(res)
}