2024-09-29 17:45:53 -04:00
|
|
|
use crate::data::CharacterData;
|
|
|
|
use minijinja::{context, Environment};
|
|
|
|
|
|
|
|
/// Writes a visual HTML for `char_data` to `file_path`.
|
|
|
|
/// This vaguely represents Lodestone and designed to visually check your character data.
|
2024-10-31 18:20:45 -04:00
|
|
|
pub fn create_html(char_data: &CharacterData) -> String {
|
2024-09-29 17:45:53 -04:00
|
|
|
let mut env = Environment::new();
|
|
|
|
env.add_template(
|
|
|
|
"character.html",
|
|
|
|
include_str!("../templates/character.html"),
|
|
|
|
)
|
|
|
|
.unwrap();
|
|
|
|
let template = env.get_template("character.html").unwrap();
|
2024-10-31 18:20:45 -04:00
|
|
|
template
|
2024-09-29 17:45:53 -04:00
|
|
|
.render(context! {
|
|
|
|
name => char_data.name,
|
|
|
|
world => char_data.world,
|
|
|
|
data_center => char_data.data_center,
|
2024-10-05 12:21:38 -04:00
|
|
|
race => char_data.appearance.race,
|
|
|
|
subrace => char_data.appearance.subrace,
|
|
|
|
gender => char_data.appearance.gender,
|
2024-09-29 17:45:53 -04:00
|
|
|
nameday => char_data.nameday,
|
|
|
|
city_state => char_data.city_state
|
|
|
|
})
|
2024-10-31 18:20:45 -04:00
|
|
|
.unwrap()
|
2024-09-29 17:45:53 -04:00
|
|
|
}
|