From 1103c89428a6c889ea5d7f8b0fb84dda4b75beba Mon Sep 17 00:00:00 2001 From: jutty Date: Sat, 17 Jan 2026 16:07:08 -0300 Subject: [PATCH] Replace hardcoded static files with a static endpoint --- .clippy.toml | 1 + src/router.rs | 36 +------ src/router/handlers/fixed.rs | 75 +++++++------- src/router/handlers/mime.rs | 94 ++++++++++++++++++ static/fonts/mono | 1 - static/fonts/prose | 1 - static/fonts/prose-bold | 1 - static/fonts/prose-bold-italic | 1 - static/fonts/prose-italic | 1 - static/fonts/rawengulk/RawengulkLight.otf | Bin 109404 -> 0 bytes static/fonts/sans | 1 - static/fonts/serifed | 1 - static/fonts/serifed-italic | 1 - static/fonts/title | 1 - static/graph.toml | 2 +- static/{ => public/assets}/favicon.svg | 0 .../assets}/fonts/cormorant/LICENSE | 0 .../cormorant-infant-latin-300-italic.woff2 | Bin .../cormorant-infant-latin-300-normal.woff2 | Bin static/public/assets/fonts/fonts.css | 65 ++++++++++++ .../{ => public/assets}/fonts/maven/LICENSE | 0 .../maven/maven-pro-latin-400-normal.woff2 | Bin .../assets}/fonts/mononoki/LICENSE | 0 .../assets}/fonts/mononoki/README.md | 0 .../mononoki/mononoki-latin-400-normal.woff2 | Bin .../fonts/rawengulk/RawengulkLight.woff2 | Bin 0 -> 31636 bytes .../fonts/rawengulk/SIL Open Font License.txt | 0 .../assets}/fonts/reforma/LICENSE.txt | 0 .../assets}/fonts/reforma/README.txt | 0 .../fonts/reforma/Reforma1969-Blanca.woff2 | Bin .../reforma/Reforma1969-BlancaItalica.woff2 | Bin .../fonts/reforma/Reforma1969-Gris.woff2 | Bin .../reforma/Reforma1969-GrisItalica.woff2 | Bin static/{ => public/assets}/style.css | 64 +----------- templates/base.html | 5 +- 35 files changed, 206 insertions(+), 145 deletions(-) create mode 100644 src/router/handlers/mime.rs delete mode 120000 static/fonts/mono delete mode 120000 static/fonts/prose delete mode 120000 static/fonts/prose-bold delete mode 120000 static/fonts/prose-bold-italic delete mode 120000 static/fonts/prose-italic delete mode 100644 static/fonts/rawengulk/RawengulkLight.otf delete mode 120000 static/fonts/sans delete mode 120000 static/fonts/serifed delete mode 120000 static/fonts/serifed-italic delete mode 120000 static/fonts/title rename static/{ => public/assets}/favicon.svg (100%) rename static/{ => public/assets}/fonts/cormorant/LICENSE (100%) rename static/{ => public/assets}/fonts/cormorant/cormorant-infant-latin-300-italic.woff2 (100%) rename static/{ => public/assets}/fonts/cormorant/cormorant-infant-latin-300-normal.woff2 (100%) create mode 100644 static/public/assets/fonts/fonts.css rename static/{ => public/assets}/fonts/maven/LICENSE (100%) rename static/{ => public/assets}/fonts/maven/maven-pro-latin-400-normal.woff2 (100%) rename static/{ => public/assets}/fonts/mononoki/LICENSE (100%) rename static/{ => public/assets}/fonts/mononoki/README.md (100%) rename static/{ => public/assets}/fonts/mononoki/mononoki-latin-400-normal.woff2 (100%) create mode 100644 static/public/assets/fonts/rawengulk/RawengulkLight.woff2 rename static/{ => public/assets}/fonts/rawengulk/SIL Open Font License.txt (100%) rename static/{ => public/assets}/fonts/reforma/LICENSE.txt (100%) rename static/{ => public/assets}/fonts/reforma/README.txt (100%) rename static/{ => public/assets}/fonts/reforma/Reforma1969-Blanca.woff2 (100%) rename static/{ => public/assets}/fonts/reforma/Reforma1969-BlancaItalica.woff2 (100%) rename static/{ => public/assets}/fonts/reforma/Reforma1969-Gris.woff2 (100%) rename static/{ => public/assets}/fonts/reforma/Reforma1969-GrisItalica.woff2 (100%) rename static/{ => public/assets}/style.css (88%) diff --git a/.clippy.toml b/.clippy.toml index adbd2c9..4bda813 100644 --- a/.clippy.toml +++ b/.clippy.toml @@ -1,3 +1,4 @@ allow-unwrap-in-tests = true allow-expect-in-tests = true single-char-binding-names-threshold = 2 +upper-case-acronyms-aggressive = true diff --git a/src/router.rs b/src/router.rs index 51182e7..4617e47 100644 --- a/src/router.rs +++ b/src/router.rs @@ -9,6 +9,7 @@ mod handlers { pub mod navigation; pub mod fixed; pub mod error; + pub mod mime; } #[derive(Clone)] @@ -32,36 +33,7 @@ pub fn new(graph: Graph) -> Router { .route("/graph/{format}", get(handlers::fixed::serial)) .route("/search", get(handlers::navigation::search)) .route("/redirect", get(handlers::navigation::redirect)) - .route( - "/static/style.css", - get(|| handlers::fixed::file("./static/style.css", "text/css")), - ) - .route( - "/static/fonts/sans", - get(|| handlers::fixed::file("./static/fonts/sans", "")), - ) - .route( - "/static/fonts/serifed", - get(|| handlers::fixed::file("./static/fonts/serifed", "")), - ) - .route( - "/static/fonts/mono", - get(|| handlers::fixed::file("./static/fonts/mono", "")), - ) - .route( - "/static/fonts/title", - get(|| handlers::fixed::file("./static/fonts/title", "")), - ) - .route( - "/static/fonts/prose", - get(|| handlers::fixed::file("./static/fonts/prose", "")), - ) - .route( - "/static/favicon.svg", - get(|| { - handlers::fixed::file("./static/favicon.svg", "image/svg+xml") - }), - ); + .route("/static/{*path}", get(handlers::fixed::file)); if state.graph.meta.config.tree { router = router.route("/tree", get(handlers::navigation::tree)); @@ -127,8 +99,8 @@ mod tests { "/tree", "/data", "/node/Syntax", - "/static/style.css", - "/static/favicon.svg", + "/static/assets/style.css", + "/static/assets/favicon.svg", "/graph/json", "/graph/toml", ]; diff --git a/src/router/handlers/fixed.rs b/src/router/handlers/fixed.rs index 3bcc8a2..3d4d4be 100644 --- a/src/router/handlers/fixed.rs +++ b/src/router/handlers/fixed.rs @@ -1,24 +1,44 @@ use axum::{ - body::Body, - extract::{Path, State}, http::{HeaderValue, Response, StatusCode, header}, + { + body::Body, + extract::{Path, State}, + }, }; use crate::prelude::*; use crate::{ graph::{Format, Graph, SerialErrorCause}, router::{GlobalState, handlers}, + router::handlers::mime::Mime, }; -/// # Panics -/// Will panic if file read fails. -#[expect(clippy::unused_async)] -pub async fn file(file_path: &str, content_type: &str) -> Response { +pub async fn file( + Path(path): Path, + State(state): State, +) -> Response { let instant = now(); - let content = match std::fs::read(file_path) { + let target = format!("static/public/{path}"); + let content = match std::fs::read(&target) { Ok(s) => s, Err(e) => { - panic!("Failed to read {file_path} contents: {e}") + let mut error_message = String::from( + "The requested file does not exist, the server does not have \ + permission to access it or a filesystem error ocurred.", + ); + if log::env_level() >= DEBUG { + error_message = format!( + "

{error_message}

\ +

Targeted path: {target}

\ +

Error message:

{e}
" + ); + } + log!(ERROR, "{error_message}"); + return super::error::by_code( + Some(404), + Some(&error_message), + &state.graph, + ); }, }; @@ -26,19 +46,20 @@ pub async fn file(file_path: &str, content_type: &str) -> Response { *response.status_mut() = StatusCode::OK; let header = header::CONTENT_TYPE; - if let Ok(header_value) = HeaderValue::from_str(content_type) { + let content_type = Mime::guess(&path); + + if let Ok(header_value) = + HeaderValue::from_str(&String::from(content_type.clone())) + { response.headers_mut().append(header, header_value); } else { log!( WARN, - "Failed to create content type header value from {content_type}" + "Failed to create content type header value from {content_type:?}" ); } - tlog!( - &instant, - "Assembled response for {content_type} {file_path}" - ); + tlog!(&instant, "Assembled response for {content_type:?} {path}"); response } @@ -147,30 +168,4 @@ mod tests { == "application/json" ); } - - #[tokio::test] - async fn file_valid_header() { - let payload = "y1mgMhjeIMFsRNZ1tskP52DfWuvhvbRP"; - let response = file("./static/graph.toml", payload).await; - assert_eq!( - response.headers().get(header::CONTENT_TYPE).unwrap(), - payload - ); - } - - #[tokio::test] - async fn file_invalid_header() { - let response = file("./static/graph.toml", "\n").await; - println!("{response:#?}"); - assert!(response.headers().get(header::CONTENT_TYPE).is_none()); - } - - #[tokio::test] - #[should_panic( - expected = "Failed to read IvnhZhdHb1xDnUw4hYDDNIERoaOojkiu \ - contents: No such file or directory (os error 2)" - )] - async fn file_invalid_path() { - drop(file("IvnhZhdHb1xDnUw4hYDDNIERoaOojkiu", "text/plain").await); - } } diff --git a/src/router/handlers/mime.rs b/src/router/handlers/mime.rs new file mode 100644 index 0000000..4b82089 --- /dev/null +++ b/src/router/handlers/mime.rs @@ -0,0 +1,94 @@ +#[derive(Debug, Clone)] +pub enum Mime { + Txt, + Csv, + Css, + Ttf, + Otf, + Woff, + Woff2, + Svg, + Ico, + Jpeg, + Png, + Apng, + Gif, + Webp, + Avif, + Toml, + Xml, + Json, + Js, + Pdf, + Epub, + Unknown, +} + +impl From<&str> for Mime { + fn from(extension: &str) -> Mime { + match extension { + "txt" => Mime::Txt, + "csv" => Mime::Csv, + "css" => Mime::Css, + "ttf" => Mime::Ttf, + "otf" => Mime::Otf, + "woff" => Mime::Woff, + "woff2" => Mime::Woff2, + "svg" => Mime::Svg, + "ico" => Mime::Ico, + "jpeg" => Mime::Jpeg, + "png" => Mime::Png, + "apng" => Mime::Apng, + "gif" => Mime::Gif, + "webp" => Mime::Webp, + "avif" => Mime::Avif, + "toml" => Mime::Toml, + "xml" => Mime::Xml, + "json" => Mime::Json, + "js" => Mime::Js, + "pdf" => Mime::Pdf, + "epub" => Mime::Epub, + _ => Mime::Unknown, + } + } +} + +impl From for String { + fn from(mime: Mime) -> String { + let s = match mime { + Mime::Txt => "text/plain", + Mime::Csv => "text/csv", + Mime::Css => "text/css", + Mime::Ttf => "font/ttf", + Mime::Otf => "font/otf", + Mime::Woff => "font/woff", + Mime::Woff2 => "font/woff2", + Mime::Svg => "image/svg+xml", + Mime::Ico => "image/x-icon", + Mime::Jpeg => "image/jpeg", + Mime::Png => "image/png", + Mime::Apng => "image/apng", + Mime::Gif => "image/gif", + Mime::Webp => "image/webp", + Mime::Avif => "image/avif", + Mime::Toml => "application/toml", + Mime::Xml => "application/xml", + Mime::Json => "application/json", + Mime::Js => "text/javascript", + Mime::Pdf => "application/pdf", + Mime::Epub => "application/epub+zip", + Mime::Unknown => "application/octet-stream", + }; + String::from(s) + } +} + +impl Mime { + pub fn guess(path: &str) -> Mime { + if let Some(pair) = path.rsplit_once('.') { + Mime::from(pair.1) + } else { + Mime::Unknown + } + } +} diff --git a/static/fonts/mono b/static/fonts/mono deleted file mode 120000 index 274627c..0000000 --- a/static/fonts/mono +++ /dev/null @@ -1 +0,0 @@ -mononoki/mononoki-latin-400-normal.woff2 \ No newline at end of file diff --git a/static/fonts/prose b/static/fonts/prose deleted file mode 120000 index cd79e75..0000000 --- a/static/fonts/prose +++ /dev/null @@ -1 +0,0 @@ -reforma/Reforma1969-Blanca.woff2 \ No newline at end of file diff --git a/static/fonts/prose-bold b/static/fonts/prose-bold deleted file mode 120000 index 233b22c..0000000 --- a/static/fonts/prose-bold +++ /dev/null @@ -1 +0,0 @@ -reforma/Reforma1969-Gris.woff2 \ No newline at end of file diff --git a/static/fonts/prose-bold-italic b/static/fonts/prose-bold-italic deleted file mode 120000 index 383f1a9..0000000 --- a/static/fonts/prose-bold-italic +++ /dev/null @@ -1 +0,0 @@ -reforma/Reforma1969-GrisItalica.woff2 \ No newline at end of file diff --git a/static/fonts/prose-italic b/static/fonts/prose-italic deleted file mode 120000 index 59e30c7..0000000 --- a/static/fonts/prose-italic +++ /dev/null @@ -1 +0,0 @@ -reforma/Reforma1969-BlancaItalica.woff2 \ No newline at end of file diff --git a/static/fonts/rawengulk/RawengulkLight.otf b/static/fonts/rawengulk/RawengulkLight.otf deleted file mode 100644 index a187371dba4d80e29f668f1726c476585880ab76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109404 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 diff --git a/static/fonts/sans b/static/fonts/sans deleted file mode 120000 index a3df751..0000000 --- a/static/fonts/sans +++ /dev/null @@ -1 +0,0 @@ -maven/maven-pro-latin-400-normal.woff2 \ No newline at end of file diff --git a/static/fonts/serifed b/static/fonts/serifed deleted file mode 120000 index 4f488ec..0000000 --- a/static/fonts/serifed +++ /dev/null @@ -1 +0,0 @@ -cormorant/cormorant-infant-latin-300-normal.woff2 \ No newline at end of file diff --git a/static/fonts/serifed-italic b/static/fonts/serifed-italic deleted file mode 120000 index 719d1f3..0000000 --- a/static/fonts/serifed-italic +++ /dev/null @@ -1 +0,0 @@ -cormorant/cormorant-infant-latin-300-italic.woff2 \ No newline at end of file diff --git a/static/fonts/title b/static/fonts/title deleted file mode 120000 index 498110b..0000000 --- a/static/fonts/title +++ /dev/null @@ -1 +0,0 @@ -rawengulk/RawengulkLight.otf \ No newline at end of file diff --git a/static/graph.toml b/static/graph.toml index 631d6c4..54b060d 100644 --- a/static/graph.toml +++ b/static/graph.toml @@ -589,7 +589,7 @@ text = """ - [ ] Branch deeper - Customization - [ ] Custom assets (favicon, CSS) - - [ ] Drop all hardcoded assets endpoints + - [x] Drop all hardcoded assets endpoints - [ ] Custom header include - [ ] Custom templates - [ ] Themes diff --git a/static/favicon.svg b/static/public/assets/favicon.svg similarity index 100% rename from static/favicon.svg rename to static/public/assets/favicon.svg diff --git a/static/fonts/cormorant/LICENSE b/static/public/assets/fonts/cormorant/LICENSE similarity index 100% rename from static/fonts/cormorant/LICENSE rename to static/public/assets/fonts/cormorant/LICENSE diff --git a/static/fonts/cormorant/cormorant-infant-latin-300-italic.woff2 b/static/public/assets/fonts/cormorant/cormorant-infant-latin-300-italic.woff2 similarity index 100% rename from static/fonts/cormorant/cormorant-infant-latin-300-italic.woff2 rename to static/public/assets/fonts/cormorant/cormorant-infant-latin-300-italic.woff2 diff --git a/static/fonts/cormorant/cormorant-infant-latin-300-normal.woff2 b/static/public/assets/fonts/cormorant/cormorant-infant-latin-300-normal.woff2 similarity index 100% rename from static/fonts/cormorant/cormorant-infant-latin-300-normal.woff2 rename to static/public/assets/fonts/cormorant/cormorant-infant-latin-300-normal.woff2 diff --git a/static/public/assets/fonts/fonts.css b/static/public/assets/fonts/fonts.css new file mode 100644 index 0000000..65bfaea --- /dev/null +++ b/static/public/assets/fonts/fonts.css @@ -0,0 +1,65 @@ +@font-face { + src: url("maven/maven-pro-latin-400-normal.woff2") format("woff2"); + font-family: "sans"; + size-adjust: 110%; + display: swap; +} + +@font-face { + src: + url("cormorant/cormorant-infant-latin-300-normal.woff2") + format("woff2"); + font-family: "serifed"; + display: swap; +} + +@font-face { + src: + url("cormorant/cormorant-infant-latin-300-italic.woff2") + format("woff2"); + font-family: "serifed"; + font-style: italic; + display: swap; +} + +@font-face { + src: url("mononoki/mononoki-latin-400-normal.woff2") format("woff2"); + font-family: "mono"; + display: swap; +} + +@font-face { + src: url("rawengulk/RawengulkLight.woff2") format("woff2"); + font-family: "title"; + display: swap; +} + +@font-face { + src: url("reforma/Reforma1969-Blanca.woff2") format("woff2"); + font-family: "prose"; + size-adjust: 120%; + display: swap; +} + +@font-face { + src: url("reforma/Reforma1969-Gris.woff2") format("woff2"); + font-family: "prose"; + font-weight: bold; + display: swap; +} + +@font-face { + src: url("reforma/Reforma1969-BlancaItalica.woff2") format("woff2"); + src: url("prose-italic"); + font-family: "prose"; + font-style: italic; + display: swap; +} + +@font-face { + src: url("reforma/Reforma1969-GrisItalica.woff2") format("woff2"); + font-family: "prose"; + font-weight: bold; + font-style: italic; + display: swap; +} diff --git a/static/fonts/maven/LICENSE b/static/public/assets/fonts/maven/LICENSE similarity index 100% rename from static/fonts/maven/LICENSE rename to static/public/assets/fonts/maven/LICENSE diff --git a/static/fonts/maven/maven-pro-latin-400-normal.woff2 b/static/public/assets/fonts/maven/maven-pro-latin-400-normal.woff2 similarity index 100% rename from static/fonts/maven/maven-pro-latin-400-normal.woff2 rename to static/public/assets/fonts/maven/maven-pro-latin-400-normal.woff2 diff --git a/static/fonts/mononoki/LICENSE b/static/public/assets/fonts/mononoki/LICENSE similarity index 100% rename from static/fonts/mononoki/LICENSE rename to static/public/assets/fonts/mononoki/LICENSE diff --git a/static/fonts/mononoki/README.md b/static/public/assets/fonts/mononoki/README.md similarity index 100% rename from static/fonts/mononoki/README.md rename to static/public/assets/fonts/mononoki/README.md diff --git a/static/fonts/mononoki/mononoki-latin-400-normal.woff2 b/static/public/assets/fonts/mononoki/mononoki-latin-400-normal.woff2 similarity index 100% rename from static/fonts/mononoki/mononoki-latin-400-normal.woff2 rename to static/public/assets/fonts/mononoki/mononoki-latin-400-normal.woff2 diff --git a/static/public/assets/fonts/rawengulk/RawengulkLight.woff2 b/static/public/assets/fonts/rawengulk/RawengulkLight.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d866f4634a5610eafb5d0aa3784f81a64a3660ef GIT binary patch literal 31636 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 - - + + + {% block head %} {% endblock head %}