site_header start
This commit is contained in:
@ -1,14 +1,21 @@
|
||||
use askama::Template;
|
||||
|
||||
use crate::components::site_footer::{render_site_footer, SiteFooter};
|
||||
use crate::components::{
|
||||
site_footer::{render_site_footer, SiteFooter},
|
||||
site_header::HeaderProps,
|
||||
};
|
||||
|
||||
#[derive(Template)]
|
||||
#[template(path = "index.html")]
|
||||
pub struct IndexTemplate {
|
||||
site_footer: SiteFooter,
|
||||
header_props: HeaderProps,
|
||||
}
|
||||
|
||||
pub async fn render_index() -> IndexTemplate {
|
||||
let site_footer = render_site_footer().await;
|
||||
IndexTemplate { site_footer }
|
||||
IndexTemplate {
|
||||
site_footer,
|
||||
header_props: HeaderProps::default(),
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,10 @@ use chrono::{DateTime, Utc};
|
||||
use serde::Deserialize;
|
||||
|
||||
use crate::{
|
||||
components::site_footer::{render_site_footer, SiteFooter},
|
||||
components::{
|
||||
site_footer::{render_site_footer, SiteFooter},
|
||||
site_header::HeaderProps,
|
||||
},
|
||||
post_parser::{deserialize_date, parse_post},
|
||||
};
|
||||
|
||||
@ -26,6 +29,7 @@ pub struct PostTemplate {
|
||||
pub title: String,
|
||||
pub body: String,
|
||||
pub site_footer: SiteFooter,
|
||||
pub header_props: HeaderProps,
|
||||
}
|
||||
|
||||
pub async fn render_post(Path(post_id): Path<String>) -> Result<PostTemplate, StatusCode> {
|
||||
@ -40,5 +44,6 @@ pub async fn render_post(Path(post_id): Path<String>) -> Result<PostTemplate, St
|
||||
title: parsed.metadata.title,
|
||||
body: parsed.body,
|
||||
site_footer,
|
||||
header_props: HeaderProps::default(),
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,10 @@ use askama::Template;
|
||||
use axum::{extract::Path, http::StatusCode};
|
||||
|
||||
use crate::{
|
||||
components::site_footer::{render_site_footer, SiteFooter},
|
||||
components::{
|
||||
site_footer::{render_site_footer, SiteFooter},
|
||||
site_header::HeaderProps,
|
||||
},
|
||||
post_list::get_post_list,
|
||||
post_parser::ParseResult,
|
||||
};
|
||||
@ -16,6 +19,7 @@ pub struct PostListTemplate {
|
||||
pub posts: Vec<ParseResult<PostMetadata>>,
|
||||
pub tag: Option<String>,
|
||||
pub site_footer: SiteFooter,
|
||||
pub header_props: HeaderProps,
|
||||
}
|
||||
|
||||
pub async fn render_post_list(tag: Option<Path<String>>) -> Result<PostListTemplate, StatusCode> {
|
||||
@ -51,6 +55,7 @@ pub async fn render_post_list(tag: Option<Path<String>>) -> Result<PostListTempl
|
||||
posts,
|
||||
tag,
|
||||
site_footer,
|
||||
header_props: HeaderProps::default(),
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user