From 00cd6405ead751560f4044e725225c4135e71557 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 9 Feb 2023 11:19:53 +0100 Subject: [PATCH] minify all pages --- src/main.rs | 2 ++ src/routes/index.rs | 6 +++--- src/routes/networks.rs | 6 +++--- src/routes/not_found.rs | 6 +++--- src/routes/portfolio.rs | 6 +++--- src/template.rs | 9 +++++++++ 6 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 src/template.rs diff --git a/src/main.rs b/src/main.rs index 3468e11..a63d8cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,9 @@ use actix_files::Files; use actix_web::{web, App, HttpServer}; use glob::glob; use minify_html::{minify, Cfg}; + mod config; +mod template; #[path = "routes/agreements.rs"] mod agreements; diff --git a/src/routes/index.rs b/src/routes/index.rs index aad60f4..0c1a953 100644 --- a/src/routes/index.rs +++ b/src/routes/index.rs @@ -1,6 +1,8 @@ use actix_web::{get, HttpResponse, Responder}; use askama::Template; +use crate::template::render_html; + #[get("/")] pub async fn page() -> impl Responder { HttpResponse::Ok().body(get_page()) @@ -11,7 +13,5 @@ pub async fn page() -> impl Responder { struct IndexTemplate {} pub fn get_page() -> std::string::String { - let index = IndexTemplate {}; - - index.render().unwrap() + render_html(&IndexTemplate {}) } diff --git a/src/routes/networks.rs b/src/routes/networks.rs index 044e921..36df9ac 100644 --- a/src/routes/networks.rs +++ b/src/routes/networks.rs @@ -1,6 +1,8 @@ use actix_web::{get, HttpResponse, Responder}; use askama::Template; +use crate::template::render_html; + #[get("/networks")] pub async fn page() -> impl Responder { HttpResponse::Ok().body(get_page()) @@ -11,7 +13,5 @@ pub async fn page() -> impl Responder { struct NetworksTemplate {} pub fn get_page() -> std::string::String { - let index = NetworksTemplate {}; - - index.render().unwrap() + render_html(&NetworksTemplate {}) } diff --git a/src/routes/not_found.rs b/src/routes/not_found.rs index bdd9f8a..5d1f566 100644 --- a/src/routes/not_found.rs +++ b/src/routes/not_found.rs @@ -1,6 +1,8 @@ use actix_web::{HttpResponse, Responder}; use askama::Template; +use crate::template::render_html; + pub async fn page() -> impl Responder { HttpResponse::NotFound().body(get_page()) } @@ -10,7 +12,5 @@ pub async fn page() -> impl Responder { struct Error404Template {} pub fn get_page() -> std::string::String { - let index = Error404Template {}; - - index.render().unwrap() + render_html(&Error404Template {}) } diff --git a/src/routes/portfolio.rs b/src/routes/portfolio.rs index 4f32c69..01323df 100644 --- a/src/routes/portfolio.rs +++ b/src/routes/portfolio.rs @@ -1,6 +1,8 @@ use actix_web::{get, HttpResponse, Responder}; use askama::Template; +use crate::template::render_html; + #[get("/portfolio")] pub async fn page() -> impl Responder { HttpResponse::Ok().body(get_page()) @@ -11,7 +13,5 @@ pub async fn page() -> impl Responder { struct PortfolioTemplate {} pub fn get_page() -> std::string::String { - let index = PortfolioTemplate {}; - - index.render().unwrap() + render_html(&PortfolioTemplate {}) } diff --git a/src/template.rs b/src/template.rs new file mode 100644 index 0000000..0f2f24d --- /dev/null +++ b/src/template.rs @@ -0,0 +1,9 @@ +use askama::DynTemplate; +use minify_html::{minify, Cfg}; + +pub fn render_html(template: &dyn DynTemplate) -> String { + let data = template.dyn_render().unwrap(); + + let cfg = Cfg::spec_compliant(); + String::from_utf8(minify(data.as_bytes(), &cfg)).unwrap() +}