Add handouts page

This commit is contained in:
2025-11-03 09:55:24 -08:00
parent 2f93cf7f8e
commit 6e6cc3bca8
2 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
use assetserver::Asset;
use maud::{Markup, html};
use crate::{
components::{
base::{BasePage, PageMetadata},
md::Markdown,
misc::Backlinks,
},
routes::assets::Image_Icon,
};
pub async fn handouts() -> Markup {
let meta = PageMetadata {
title: "Mark's Handouts".into(),
author: Some("Mark".into()),
description: None,
image: Some(Image_Icon::URL.into()),
};
html! {
(BasePage(
meta,
html!(
(Backlinks(&[("/", "home")], "handouts"))
(Markdown(MD_A))
)
))
}
}
const MD_A: &str = r#"# Mark's Handouts
[ORMC]: https://circles.math.ucla.edu/circles
This page lists all the handouts I've written for my classes at the [ORMC],
a mathematics program for advanced students. We avoid "textbook"
topics, and instead discuss interesting material that isn't seen in school.
{style(color_var:grey) I often tell my class that Math Circle makes no effort to teach math.
Math Circle teaches you to *think.*"}
<br></br>
{style(color_var:pink) For my students: } \
Don't look at solutions we haven't discussed,
and don't start any handouts before class. That spoils all the fun!
{style(color_var:green) For everyone else:} \
If you're using any of these, please let me know---especially \
if you find errors, mistakes, or a poorly designed section. \
Such things must be fixed! {{ email_beta() }}
<br></br>
## Overview & Context
Our classes are two hours long, with a ten-minute break in between. The lessons below
are written with that in mind.\
At the end of the ideal class, an average student should
be nearly (but not _fully_) done with that week's handout.
If the class finishes early, the lesson is either too short or too easy.
<br></br>
<hr></hr>
<br></br>
## Warm-Ups
Students never show up on time. Some come early, some come late. Warm-ups
are my solution to this problem: we hand these out as students walk in,
giving them something to do until we can start the lesson.
{{ handouts(group = "Warm-Ups") }}
## Advanced
The highest level of the ORMC, and the group I spend most of my time with.
Students in ORMC Advanced are in high school, which means
they're ~14-18 years old.
{{ handouts(group = "Advanced") }}
"#;

View File

@@ -5,6 +5,7 @@ use utoipa::OpenApi;
pub mod assets;
mod betalupi;
mod handouts;
mod index;
mod links;
@@ -20,5 +21,6 @@ pub(super) fn router() -> Router<()> {
.route("/", get(index::index))
.route("/whats-a-betalupi", get(betalupi::betalupi))
.route("/links", get(links::links))
.route("/handouts", get(handouts::handouts))
.nest(asset_prefix, asset_router)
}