Linked styles

This commit is contained in:
2025-11-03 09:55:16 -08:00
parent 05bdac5b4f
commit 2f93cf7f8e
4 changed files with 159 additions and 55 deletions

View File

@@ -1,7 +1,7 @@
use macro_sass::sass;
use assetserver::Asset;
use maud::{DOCTYPE, Markup, PreEscaped, Render, html};
use crate::components::misc::FarLink;
use crate::{components::misc::FarLink, routes::assets::Styles_Main};
pub struct PageMetadata {
pub title: String,
@@ -30,15 +30,12 @@ impl Render for PageMetadata {
meta property="og:description" content=(description) {}
meta property="twitter:description" content=(description) {}
meta content=(image) property="og:image" {}
link rel="shortcut icon" href=(image) type="image/x-icon" {}
)
}
}
const CSS: &str = sass!("css/main.scss");
pub struct BasePage<T: Render>(pub PageMetadata, pub T);
impl<T: Render> Render for BasePage<T> {
@@ -54,9 +51,11 @@ impl<T: Render> Render for BasePage<T> {
meta content="text/html; charset=UTF-8" http-equiv="content-type" {}
meta property="og:type" content="website" {}
link rel="stylesheet" href=(Styles_Main::URL) {}
(meta)
title { (PreEscaped(meta.title.clone())) }
style { (PreEscaped(CSS)) }
}
body {

View File

@@ -1,27 +1,50 @@
use assetserver::Asset;
use axum::http::header;
use macro_assets::assets;
use macro_sass::sass;
assets! {
prefix: "/assets"
router: asset_router()
//
// MARK: styles
//
Styles_Main {
source: sass!("css/main.scss").as_bytes(),
target: "/css/main.css",
headers: [
(header::CONTENT_TYPE, "text/css")
]
}
//
// MARK: images
//
Image_Cover {
source: "../../assets/images/cover-small.jpg",
target: "/img/face.jpg"
source: include_bytes!("../../assets/images/cover-small.jpg"),
target: "/img/face.jpg",
headers: [
(header::CONTENT_TYPE, "image/jpg")
]
}
Image_Betalupi {
source: "../../assets/images/betalupi-map.png",
target: "/img/betalupi.png"
source: include_bytes!("../../assets/images/betalupi-map.png"),
target: "/img/betalupi.png",
headers: [
(header::CONTENT_TYPE, "image/png")
]
}
Image_Icon {
source: "../../assets/images/icon.png",
target: "/img/icon.png"
source: include_bytes!("../../assets/images/icon.png"),
target: "/img/icon.png",
headers: [
(header::CONTENT_TYPE, "image/png")
]
}
//
@@ -29,33 +52,51 @@ assets! {
//
FiraCode_Bold_woff2 {
source: "../../assets/fonts/fira/FiraCode-Bold.woff2",
target: "/fonts/FiraCode-Bold.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-Bold.woff2"),
target: "/fonts/FiraCode-Bold.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
FiraCode_Light_woff2 {
source: "../../assets/fonts/fira/FiraCode-Light.woff2",
target: "/fonts/FiraCode-Light.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-Light.woff2"),
target: "/fonts/FiraCode-Light.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
FiraCode_Medium_woff2 {
source: "../../assets/fonts/fira/FiraCode-Medium.woff2",
target: "/fonts/FiraCode-Medium.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-Medium.woff2"),
target: "/fonts/FiraCode-Medium.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
FiraCode_Regular_woff2 {
source: "../../assets/fonts/fira/FiraCode-Regular.woff2",
target: "/fonts/FiraCode-Regular.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-Regular.woff2"),
target: "/fonts/FiraCode-Regular.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
FiraCode_SemiBold_woff2 {
source: "../../assets/fonts/fira/FiraCode-SemiBold.woff2",
target: "/fonts/FiraCode-SemiBold.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-SemiBold.woff2"),
target: "/fonts/FiraCode-SemiBold.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
FiraCode_VF_woff2 {
source: "../../assets/fonts/fira/FiraCode-VF.woff2",
target: "/fonts/FiraCode-VF.woff2"
source: include_bytes!("../../assets/fonts/fira/FiraCode-VF.woff2"),
target: "/fonts/FiraCode-VF.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
//
@@ -63,32 +104,50 @@ assets! {
//
Fa_Brands_woff2 {
source: "../../assets/fonts/fa/fa-brands-400.woff2",
target: "/fonts/fa/fa-brands-400.woff2"
source: include_bytes!("../../assets/fonts/fa/fa-brands-400.woff2"),
target: "/fonts/fa/fa-brands-400.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
Fa_Regular_woff2 {
source: "../../assets/fonts/fa/fa-regular-400.woff2",
target: "/fonts/fa/fa-regular-400.woff2"
source: include_bytes!("../../assets/fonts/fa/fa-regular-400.woff2"),
target: "/fonts/fa/fa-regular-400.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
Fa_Solid_woff2 {
source: "../../assets/fonts/fa/fa-solid-900.woff2",
target: "/fonts/fa/fa-solid-900.woff2"
source: include_bytes!("../../assets/fonts/fa/fa-solid-900.woff2"),
target: "/fonts/fa/fa-solid-900.woff2",
headers: [
(header::CONTENT_TYPE, "application/font-woff2")
]
}
Fa_Brands_ttf {
source: "../../assets/fonts/fa/fa-brands-400.ttf",
target: "/fonts/fa/fa-brands-400.ttf"
source: include_bytes!("../../assets/fonts/fa/fa-brands-400.ttf"),
target: "/fonts/fa/fa-brands-400.ttf",
headers: [
(header::CONTENT_TYPE, "application/font-ttf")
]
}
Fa_Regular_ttf {
source: "../../assets/fonts/fa/fa-regular-400.ttf",
target: "/fonts/fa/fa-regular-400.ttf"
source: include_bytes!("../../assets/fonts/fa/fa-regular-400.ttf"),
target: "/fonts/fa/fa-regular-400.ttf",
headers: [
(header::CONTENT_TYPE, "application/font-ttf")
]
}
Fa_Solid_ttf {
source: "../../assets/fonts/fa/fa-solid-900.ttf",
target: "/fonts/fa/fa-solid-900.ttf"
source: include_bytes!("../../assets/fonts/fa/fa-solid-900.ttf"),
target: "/fonts/fa/fa-solid-900.ttf",
headers: [
(header::CONTENT_TYPE, "application/font-ttf")
]
}
}

View File

@@ -3,7 +3,7 @@ use axum::routing::get;
use tracing::info;
use utoipa::OpenApi;
mod assets;
pub mod assets;
mod betalupi;
mod index;
mod links;