Add handouts page
This commit is contained in:
84
crates/service/service-webpage/src/routes/handouts.rs
Normal file
84
crates/service/service-webpage/src/routes/handouts.rs
Normal 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") }}
|
||||||
|
"#;
|
||||||
@@ -5,6 +5,7 @@ use utoipa::OpenApi;
|
|||||||
|
|
||||||
pub mod assets;
|
pub mod assets;
|
||||||
mod betalupi;
|
mod betalupi;
|
||||||
|
mod handouts;
|
||||||
mod index;
|
mod index;
|
||||||
mod links;
|
mod links;
|
||||||
|
|
||||||
@@ -20,5 +21,6 @@ pub(super) fn router() -> Router<()> {
|
|||||||
.route("/", get(index::index))
|
.route("/", get(index::index))
|
||||||
.route("/whats-a-betalupi", get(betalupi::betalupi))
|
.route("/whats-a-betalupi", get(betalupi::betalupi))
|
||||||
.route("/links", get(links::links))
|
.route("/links", get(links::links))
|
||||||
|
.route("/handouts", get(handouts::handouts))
|
||||||
.nest(asset_prefix, asset_router)
|
.nest(asset_prefix, asset_router)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user