404
Some checks failed
CI / Check typos (push) Successful in 8s
CI / Check links (push) Failing after 10s
CI / Clippy (push) Successful in 59s
CI / Build and test (push) Successful in 1m20s
CI / Build container (push) Successful in 1m5s
CI / Deploy on waypoint (push) Successful in 48s

This commit is contained in:
2025-11-11 09:09:50 -08:00
parent 532cfe58ba
commit 896caea421
7 changed files with 104 additions and 56 deletions

View File

@@ -81,11 +81,6 @@ body {
color: var(--fgColor);
}
main {
margin-top: 2ex;
overflow-wrap: break-word;
}
hr.footline {
border: 1pt solid;
}

View File

@@ -262,7 +262,7 @@ pub fn handouts() -> Page {
br {}
};
page_wrapper(&page.meta, inner).await
page_wrapper(&page.meta, inner, true).await
})
}),
}

View File

@@ -16,7 +16,7 @@ pub fn index() -> Page {
meta: PageMetadata {
title: "Betalupi: About".into(),
author: Some("Mark".into()),
description: Some("Description".into()),
description: None,
image: Some("/assets/img/icon.png".to_owned()),
backlinks: Some(false),
},
@@ -74,7 +74,7 @@ pub fn index() -> Page {
(Markdown(include_str!("index.md")))
};
page_wrapper(&page.meta, inner).await
page_wrapper(&page.meta, inner, true).await
})
}),

View File

@@ -10,9 +10,11 @@ use crate::components::{
mod handouts;
mod index;
mod notfound;
pub use handouts::handouts;
pub use index::index;
pub use notfound::notfound;
pub fn links() -> Page {
/*
@@ -80,7 +82,7 @@ fn page_from_markdown(md: impl Into<String>, default_image: Option<String>) -> P
(html)
};
page_wrapper(&page.meta, inner).await
page_wrapper(&page.meta, inner, true).await
})
}),
}
@@ -93,6 +95,7 @@ fn page_from_markdown(md: impl Into<String>, default_image: Option<String>) -> P
pub fn page_wrapper<'a>(
meta: &'a PageMetadata,
inner: Markup,
footer: bool,
) -> Pin<Box<dyn Future<Output = Markup> + 'a + Send + Sync>> {
Box::pin(async move {
html! {
@@ -133,22 +136,25 @@ pub fn page_wrapper<'a>(
}
body {
div class="wrapper" {
main { (inner) }
footer {
hr class = "footline" {}
div class = "footContainer" {
p {
"This site was built by hand with "
(FarLink("https://rust-lang.org", "Rust"))
", "
(FarLink("https://maud.lambda.xyz", "Maud"))
", "
(FarLink("https://github.com/connorskees/grass", "Grass"))
", and "
(FarLink("https://docs.rs/axum/latest/axum", "Axum"))
"."
div class="wrapper" {
(inner)
@if footer {
footer {
hr class = "footline" {}
div class = "footContainer" {
p {
"This site was built by hand with "
(FarLink("https://rust-lang.org", "Rust"))
", "
(FarLink("https://maud.lambda.xyz", "Maud"))
", "
(FarLink("https://github.com/connorskees/grass", "Grass"))
", and "
(FarLink("https://docs.rs/axum/latest/axum", "Axum"))
"."
}
}
}
}

View File

@@ -0,0 +1,32 @@
use maud::html;
use page::page::{Page, PageMetadata};
use crate::pages::page_wrapper;
pub fn notfound() -> Page {
Page {
meta: PageMetadata {
title: "Betalupi: About".into(),
author: None,
description: None,
image: Some("/assets/img/icon.png".to_owned()),
backlinks: Some(false),
},
generate_html: Box::new(move |page, _ctx| {
Box::pin(async {
let inner = html! {
div style="display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh" {
p style="font-weight:bold;font-size:50pt;margin:0;" { "404" }
p style="font-size:13pt;margin:0;color:var(--grey);" { "(page not found)" }
a style="font-size:12pt;margin:10pt;padding:5px;" href="/" {"<- Back to site"}
}
};
page_wrapper(&page.meta, inner, false).await
})
}),
..Default::default()
}
}

View File

@@ -15,6 +15,7 @@ fn build_server() -> Arc<PageServer> {
#[expect(clippy::unwrap_used)]
server
.with_404(pages::notfound())
.add_page("/", pages::index())
.add_page("/links", pages::links())
.add_page("/whats-a-betalupi", pages::betalupi())