use crate::html; use askama::Template; use axum::response::IntoResponse; use axum::{routing::get, Router}; pub fn get_router() -> Router { Router::new() .route("/", get(html::root::blog)) .route("/fsdi", get(fsdi)) .route("/independence", get(independence)) .route("/pwi", get(pwi)) .route("/gs", get(gs)) .route("/srw", get(srw)) .route("/tw", get(tw)) .route("/lt", get(lt)) .route("/writing", get(writing)) .route("/lim", get(lim)) .route("/ile", get(ile)) .route("/dmwi", get(dmwi)) .route("/wgl", get(wgl)) .route("/dm", get(dm)) .route("/llf", get(llf)) .route("/habits", get(habits)) .route("/deepwork", get(deepwork)) .route("/ewt", get(ewt)) .route("/afh", get(afh)) .route("/mfn", get(mfn)) .route("/sdl", get(sdl)) .route("/foundation", get(foundation)) .route("/mop", get(mop)) .route("/onreading", get(onreading)) .route("/thestart", get(thestart)) } async fn fsdi() -> impl IntoResponse { let template = FirstStepsToDigitalIndependenceTemplate { previous: "independence", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/FirstStepsToDigitalIndependence.html")] struct FirstStepsToDigitalIndependenceTemplate<'a> { previous: &'a str, } async fn independence() -> impl IntoResponse { let template = IndependenceTemplate { previous: "pwi", next: "fsdi", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/Independence.html")] struct IndependenceTemplate<'a> { previous: &'a str, next: &'a str, } async fn pwi() -> impl IntoResponse { let template = PetsWorryAndInformationTemplate { previous: "gs", next: "independence", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/PetsWorryAndInformation.html")] struct PetsWorryAndInformationTemplate<'a> { previous: &'a str, next: &'a str, } async fn gs() -> impl IntoResponse { let template = GraduateSchoolTemplate { previous: "srw", next: "pwi", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/GraduateSchool.html")] struct GraduateSchoolTemplate<'a> { previous: &'a str, next: &'a str, } async fn srw() -> impl IntoResponse { let template = SpeedReadingWorkbookTemplate { previous: "tw", next: "gs", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/SpeedReadingWorkbook.html")] struct SpeedReadingWorkbookTemplate<'a> { previous: &'a str, next: &'a str, } async fn tw() -> impl IntoResponse { let template = ThisWebsiteTemplate { previous: "lt", next: "srw", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/ThisWebsite.html")] struct ThisWebsiteTemplate<'a> { previous: &'a str, next: &'a str, } async fn lt() -> impl IntoResponse { let template = LevelingToolTemplate { previous: "writing", next: "tw", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/LevelingTool.html")] struct LevelingToolTemplate<'a> { previous: &'a str, next: &'a str, } async fn writing() -> impl IntoResponse { let template = WritingTemplate { previous: "lim", next: "lt", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/Writing.html")] struct WritingTemplate<'a> { previous: &'a str, next: &'a str, } async fn lim() -> impl IntoResponse { let template = LessIsMoreTemplate { previous: "ile", next: "writing", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/LessIsMore.html")] struct LessIsMoreTemplate<'a> { previous: &'a str, next: &'a str, } async fn ile() -> impl IntoResponse { let template = ImmersiveLearningAndExperimentationTemplate { previous: "dmwi", next: "lim", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/ImmersiveLearningAndExperimentation.html")] struct ImmersiveLearningAndExperimentationTemplate<'a> { previous: &'a str, next: &'a str, } async fn dmwi() -> impl IntoResponse { let template = DoingMoreWithMyIdeasTemplate { previous: "wgl", next: "ile", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/DoingMoreWithMyIdeas.html")] struct DoingMoreWithMyIdeasTemplate<'a> { previous: &'a str, next: &'a str, } async fn wgl() -> impl IntoResponse { let template = WhyAndGettingLostTemplate { previous: "dm", next: "dmwi", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/WhyAndGettingLost.html")] struct WhyAndGettingLostTemplate<'a> { previous: &'a str, next: &'a str, } async fn dm() -> impl IntoResponse { let template = DisciplineAndMotivationTemplate { previous: "llf", next: "wgl", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/DisciplineAndMotivation.html")] struct DisciplineAndMotivationTemplate<'a> { previous: &'a str, next: &'a str, } async fn llf() -> impl IntoResponse { let template = LookingLikeAFoolTemplate { previous: "habits", next: "dm", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/LookingLikeAFool.html")] struct LookingLikeAFoolTemplate<'a> { previous: &'a str, next: &'a str, } async fn habits() -> impl IntoResponse { let template = HabitsTemplate { previous: "deepwork", next: "llf", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/Habits.html")] struct HabitsTemplate<'a> { previous: &'a str, next: &'a str, } async fn deepwork() -> impl IntoResponse { let template = DeepWorkTemplate { previous: "ewt", next: "habits", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/DeepWork.html")] struct DeepWorkTemplate<'a> { previous: &'a str, next: &'a str, } async fn ewt() -> impl IntoResponse { let template = ExercisingWithoutTimeTemplate { previous: "afh", next: "deepwork", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/ExercisingWithoutTime.html")] struct ExercisingWithoutTimeTemplate<'a> { previous: &'a str, next: &'a str, } async fn afh() -> impl IntoResponse { let template = AskingForHelpTemplate { previous: "mfn", next: "ewt", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/AskingForHelp.html")] struct AskingForHelpTemplate<'a> { previous: &'a str, next: &'a str, } async fn mfn() -> impl IntoResponse { let template = AMindForNumbersTemplate { previous: "sdl", next: "afh", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/AMindForNumbers.html")] struct AMindForNumbersTemplate<'a> { previous: &'a str, next: &'a str, } async fn sdl() -> impl IntoResponse { let template = SelfDirectedLearningTemplate { previous: "foundation", next: "mfn", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/SelfDirectedLearning.html")] struct SelfDirectedLearningTemplate<'a> { previous: &'a str, next: &'a str, } async fn foundation() -> impl IntoResponse { let template = TheFoundationTemplate { previous: "mop", next: "sdl", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/TheFoundation.html")] struct TheFoundationTemplate<'a> { previous: &'a str, next: &'a str, } async fn mop() -> impl IntoResponse { let template = TheMythOfPerfectionTemplate { previous: "onreading", next: "foundation", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/TheMythOfPerfection.html")] struct TheMythOfPerfectionTemplate<'a> { previous: &'a str, next: &'a str, } async fn onreading() -> impl IntoResponse { let template = OnReadingTemplate { previous: "thestart", next: "mop", }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/OnReading.html")] struct OnReadingTemplate<'a> { previous: &'a str, next: &'a str, } async fn thestart() -> impl IntoResponse { let template = TheStartTemplate { next: "onreading" }; html::HtmlTemplate(template) } #[derive(Template)] #[template(path = "blog/TheStart.html")] struct TheStartTemplate<'a> { next: &'a str, }