diff --git a/filed/Cargo.lock b/filed/Cargo.lock index aa99e62..241fa07 100644 --- a/filed/Cargo.lock +++ b/filed/Cargo.lock @@ -17,6 +17,41 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "askama" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47cbc3cf73fa8d9833727bbee4835ba5c421a0d65b72daf9a7b5d0e0f9cfb57e" +dependencies = [ + "askama_derive", + "askama_escape", + "humansize", + "num-traits", + "percent-encoding", +] + +[[package]] +name = "askama_derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22fbe0413545c098358e56966ff22cdd039e10215ae213cfbd65032b119fc94" +dependencies = [ + "basic-toml", + "mime", + "mime_guess", + "nom", + "proc-macro2", + "quote", + "serde", + "syn", +] + +[[package]] +name = "askama_escape" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" + [[package]] name = "autocfg" version = "1.1.0" @@ -44,6 +79,15 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +[[package]] +name = "basic-toml" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bfc506e7a2370ec239e1d072507b2a80c833083699d3c6fa176fbb4de8448c6" +dependencies = [ + "serde", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -165,6 +209,7 @@ dependencies = [ name = "filed" version = "0.1.0" dependencies = [ + "askama", "dotenvy", "femme", "log", @@ -345,6 +390,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + [[package]] name = "hyper" version = "0.14.27" @@ -410,6 +464,12 @@ version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +[[package]] +name = "libm" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + [[package]] name = "log" version = "0.4.20" @@ -442,6 +502,12 @@ dependencies = [ "unicase", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -480,6 +546,25 @@ dependencies = [ "version_check", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] + [[package]] name = "num_cpus" version = "1.16.0" diff --git a/filed/Cargo.toml b/filed/Cargo.toml index 2ca40c1..1e769e6 100644 --- a/filed/Cargo.toml +++ b/filed/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +askama = "0.12.0" dotenvy = "0.15.7" femme = "2.2.1" log = "0.4.20" diff --git a/filed/src/web/pages.rs b/filed/src/web/pages.rs index cb7be0e..79114a6 100644 --- a/filed/src/web/pages.rs +++ b/filed/src/web/pages.rs @@ -3,13 +3,20 @@ */ use warp::{reply::{Reply, Html}, Filter, reject::Rejection}; +use askama::Template; + +#[derive(Template)] +#[template( path = "index.html" )] +struct Index { + +} pub fn index() -> Html { - warp::reply::html("hiiii ^^".into()) + let rendered = Index {}; + warp::reply::html(rendered.render().unwrap()) } pub fn get_routes() -> impl Filter + Clone { - let index_r = warp::path::end().map(index); warp::any().and(index_r) diff --git a/filed/templates/base.html b/filed/templates/base.html new file mode 100644 index 0000000..33c06f7 --- /dev/null +++ b/filed/templates/base.html @@ -0,0 +1,12 @@ + + + + + blek! File + {% block content %}{% endblock %} + + + + {% block body %}{% endblock %} + + \ No newline at end of file diff --git a/filed/templates/index.html b/filed/templates/index.html new file mode 100644 index 0000000..3e5b02d --- /dev/null +++ b/filed/templates/index.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} + +{% block content %} + +

+ hiii! +

+
+

+ made with askama (C) +

+ +{% endblock %} \ No newline at end of file