diff --git a/Cargo.lock b/Cargo.lock index 05d2d53..e260301 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -875,6 +875,12 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "memo-map" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b" + [[package]] name = "mime" version = "0.3.17" @@ -887,6 +893,8 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98642a6dfca91122779a307b77cd07a4aa951fbe32232aaf5bad9febc66be754" dependencies = [ + "memo-map", + "self_cell", "serde", ] @@ -1188,6 +1196,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "self_cell" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" + [[package]] name = "serde" version = "1.0.219" diff --git a/Cargo.toml b/Cargo.toml index a5c485c..c525a1a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,7 @@ tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = f fastrand = { version = "2.3", features = ["std"], default-features = false } # HTML templates used in the web servers -minijinja = { version = "2.9", features = ["serde"], default-features = false } +minijinja = { version = "2.9", features = ["serde", "loader"], default-features = false } # Serialization of packets binrw = { version = "0.14", features = ["std"], default-features = false } diff --git a/templates/account.html b/resources/templates/account.html similarity index 100% rename from templates/account.html rename to resources/templates/account.html diff --git a/templates/admin.html b/resources/templates/admin.html similarity index 100% rename from templates/admin.html rename to resources/templates/admin.html diff --git a/templates/changepassword.html b/resources/templates/changepassword.html similarity index 100% rename from templates/changepassword.html rename to resources/templates/changepassword.html diff --git a/templates/launcher.html b/resources/templates/launcher.html similarity index 100% rename from templates/launcher.html rename to resources/templates/launcher.html diff --git a/templates/login.html b/resources/templates/login.html similarity index 100% rename from templates/login.html rename to resources/templates/login.html diff --git a/templates/register.html b/resources/templates/register.html similarity index 100% rename from templates/register.html rename to resources/templates/register.html diff --git a/templates/web.html b/resources/templates/web.html similarity index 100% rename from templates/web.html rename to resources/templates/web.html diff --git a/templates/worldstatus.html b/resources/templates/worldstatus.html similarity index 100% rename from templates/worldstatus.html rename to resources/templates/worldstatus.html diff --git a/src/bin/kawari-admin.rs b/src/bin/kawari-admin.rs index be77d7c..d27d4e5 100644 --- a/src/bin/kawari-admin.rs +++ b/src/bin/kawari-admin.rs @@ -8,8 +8,12 @@ use serde::{Deserialize, Serialize}; fn setup_default_environment() -> Environment<'static> { let mut env = Environment::new(); - env.add_template("admin.html", include_str!("../../templates/admin.html")) - .unwrap(); + env.add_template_owned( + "admin.html", + std::fs::read_to_string("resources/templates/admin.html") + .expect("Failed to find template!"), + ) + .unwrap(); env } diff --git a/src/bin/kawari-launcher.rs b/src/bin/kawari-launcher.rs index 8271074..6bfd37a 100644 --- a/src/bin/kawari-launcher.rs +++ b/src/bin/kawari-launcher.rs @@ -8,9 +8,10 @@ use serde::Deserialize; fn setup_default_environment() -> Environment<'static> { let mut env = Environment::new(); - env.add_template( + env.add_template_owned( "launcher.html", - include_str!("../../templates/launcher.html"), + std::fs::read_to_string("resources/templates/launcher.html") + .expect("Failed to find template!"), ) .unwrap(); diff --git a/src/bin/kawari-login.rs b/src/bin/kawari-login.rs index f9f57dc..9259d40 100644 --- a/src/bin/kawari-login.rs +++ b/src/bin/kawari-login.rs @@ -15,18 +15,28 @@ use serde::Deserialize; fn setup_default_environment() -> Environment<'static> { let mut env = Environment::new(); - env.add_template("login.html", include_str!("../../templates/login.html")) - .unwrap(); - env.add_template( - "register.html", - include_str!("../../templates/register.html"), + env.add_template_owned( + "login.html", + std::fs::read_to_string("resources/templates/login.html") + .expect("Failed to find template!"), ) .unwrap(); - env.add_template("account.html", include_str!("../../templates/account.html")) - .unwrap(); - env.add_template( + env.add_template_owned( + "register.html", + std::fs::read_to_string("resources/templates/register.html") + .expect("Failed to find template!"), + ) + .unwrap(); + env.add_template_owned( + "account.html", + std::fs::read_to_string("resources/templates/account.html") + .expect("Failed to find template!"), + ) + .unwrap(); + env.add_template_owned( "changepassword.html", - include_str!("../../templates/changepassword.html"), + std::fs::read_to_string("resources/templates/changepassword.html") + .expect("Failed to find template!"), ) .unwrap(); diff --git a/src/bin/kawari-web.rs b/src/bin/kawari-web.rs index fc8d5f4..292d108 100644 --- a/src/bin/kawari-web.rs +++ b/src/bin/kawari-web.rs @@ -7,15 +7,23 @@ use serde::{Deserialize, Serialize}; fn setup_default_environment() -> Environment<'static> { let mut env = Environment::new(); - env.add_template("web.html", include_str!("../../templates/web.html")) - .unwrap(); - env.add_template( - "worldstatus.html", - include_str!("../../templates/worldstatus.html"), + env.add_template_owned( + "web.html", + std::fs::read_to_string("resources/templates/web.html").expect("Failed to find template!"), + ) + .unwrap(); + env.add_template_owned( + "worldstatus.html", + std::fs::read_to_string("resources/templates/worldstatus.html") + .expect("Failed to find template!"), + ) + .unwrap(); + env.add_template_owned( + "account.html", + std::fs::read_to_string("resources/templates/account.html") + .expect("Failed to find template!"), ) .unwrap(); - env.add_template("account.html", include_str!("../../templates/account.html")) - .unwrap(); env }